I did it! q:D
Вроде получилось.
Решение:
$data = $this->Site->Job->find(
'all',
array (
'recursive' => 1,
'fields' => array('DISTINCT Job.date'),
'conditions' => array('Job.site_id' => 3),
'contain' => array (
'JobComment' => array(
'fields' => array (
'JobComment.comment',
'JobComment.created',
'JobComment.whois'),
'conditions' => array (
'JobComment.trouble' => 1)
)
),
'joins' => array(
array(
'table' => 'job_comments',
'alias' => 'JobComment',
'type' => 'INNER',
'foreignKey' => false,
'conditions'=> array(
'JobComment.job_id = Job.id',
'JobComment.trouble = 1'
)
)
)
));
On 19 авг, 17:37, Long <[email protected]> wrote:
> Thanks for the reply
>
> I have changed my app_model.php to (http://bakery.cakephp.org/articles/
> view/quick-tip-doing-ad-hoc-joins-in-model-find) code.
> How can i use the new FIND() method?
>
> $this->Site->find ('matches', array (
> 'model' => array ('Job'),
> 'scope' => array (
> 'Area' => array ('Site.id' => 3),
> )
> )
> );
>
> Isn't it?
>
> On 19 авг, 17:02, Martin Westin <[email protected]> wrote:
>
>
>
> > You are right (in the subject), you need a join.
> > You can force Cake to do joins if you build something like what Nate
> > wrote about in january:
>
> >http://bakery.cakephp.org/articles/view/quick-tip-doing-ad-hoc-joins-...
>
> > I took some ideas from that and made a joining feature that would join
> > models for me when needed, using a very similar syntax to Containable
> > (often interchangeable).
>
> >http://bin.cakephp.org/saved/49446
>
> > I have linked to these before (twice in the last 24hrs). I am not
> > doing it to spam the group, honestly.
>
> >http://groups.google.com/group/cake-php/browse_thread/thread/3e6644c9......
>
> > hope you find it useful.
>
> > On Aug 19, 2:26 pm, Long <[email protected]> wrote:
>
> > > Update:
>
> > > 3 models:
> > > sites hasMany jobs
> > > jobs belongsTo sites
>
> > > jobs hasMany job_comments
> > > job_comments belongsTo jobs
>
> > > Site->Job->JobComment
>
> > > $this->Site->find( 'all',
> > > array('fields'=>array('Site.id'),
> > > 'conditions' =>array(
> > > 'Site.id' => 3),
> > > 'contain' => array (
> > > 'Job' => array(
> > > 'conditions' => array (
> > > 'Job.site_id' => 3),
> > > 'JobComment' => array (
> > > 'fields' => array (
> > > 'JobComment.comment'),
> > > 'conditions' => array (
> > > 'JobComment.trouble' => 1
> > > )
> > > )
> > > )
> > > )
> > > )
> > > ));
>
> > > On 19 авг, 16:17, Long <[email protected]> wrote:
>
> > > > Greetings!
>
> > > > I have 3 models:
>
> > > > jobs hasMany job_comments
> > > > job_comments belongsTo jobs
>
> > > > Site->Job->JobComment
>
> > > > Help me please to find works on a site which have 'trouble' comments
>
> > > > $this->Site->find( 'all', array ( 'fields' => array('Site.id'),
> > > > 'conditions' => array
> > > > ('Site.id' => 3),
> > > > 'contain' => array (
> > > > 'Job' => array(
> > > > 'conditions'
> > > > => array ('Job.site_id' => 3),
> > > > 'JobComment'
> > > > => array (
> > > > 'fields' =>
> > > > array ('JobComment.comment'),
>
> > > > 'conditions' => array (
>
> > > > 'JobComment.trouble' => 1
> > > >
> > > > )
> > > > )
> > > > )
> > > > )
> > > > )
> > > > ));
>
> > > > ...It doesn't work good.
> > > > I no need all Jobs on site. I need only Jobs which have
> > > > JobComment.trouble = 1
>
> > > > Thx.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---