No, it's not work. I guess I figured out how I can solve my problem. I make
this sql query:

CREATE TEMPORARY TABLE tmp_details(
id int( 10 ) NOT NULL ,
comment_id int( 5 ) NOT NULL ,
incident_id int( 11 ) NOT NULL ,
PRIMARY KEY ( id )
);
INSERT INTO tmp_details
SELECT Detail.id, MAX( Detail.comment_id ) , Detail.incident_id
FROM details Detail
GROUP BY Detail.incident_id;

SELECT Incident.id, Incident.exp_date, Detail2.comment_date
FROM tmp_details Detail1
INNER JOIN details Detail2 ON Detail1.incident_id = Detail2.incident_id
AND Detail1.comment_id = Detail2.comment_id
INNER JOIN incidents Incident ON Incident.id = Detail1.incident_id
AND Incident.exp_date > Detail2.comment_date
AND Detail2.comment_date != "0000-00-00 00:00:00"

And now there is another problem. How to use temporary tables in Cake?
Furthermore I need to paginate results that I will get from last query.

2011/7/6 Dominik Gajewski <dominikgajews...@gmail.com>

> And have you tried 'contain' => array('Details'), maybe it will help
>
> 2011/7/5 Quarck <quarcks...@gmail.com>:
> > I tried
> > $this->Incident->find('all', array('conditions' =>
> > array('DATE_FORMAT(Detail.comment_date, \'%Y-%m-%d\') <
> > Incident.exp_date')));
> > and Cake give me an error "SQL Error: 1054: Unknown column
> > 'Detail.comment_date' in 'where clause'". And it's absolutely correct
> > because sql query is "SELECT `Incident`.`id`, `Incident`.`start_date`,
> > `Incident`.`exp_date`, `Incident`.`incoming_num`,
> > `Incident`.`incoming_date` FROM `incidents` AS `Incident` WHERE
> > DATE_FORMAT(`Detail`.`comment_date`, '%Y-%m-%d') <
> > `Incident`.`exp_date`"
> > i tried to use joins and it's solved this problem, but how I can
> > select row in Detail exactly with last comment_id. I tried this:
> > $b = array(
> >        array('table' => 'incidents',
> >        'alias' => 'Incident1',
> >        'type' => 'INNER',
> >        'conditions' => array('Detail.incident_id = Incident1.id',
> > 'Incident1.exp_date > DATE_FORMAT(Detail.comment_date, \'%Y-%m-%d\')')
> >    )
> > );
> > $this->Incident->Detail->find('all', array('joins' => $b));
> >
> > On 30 июн, 21:24, Dominik Gajewski <dominikgajews...@gmail.com> wrote:
> >> Why don't you try to create next condition in your query,
> >> 'Detail.comment_date < Incident.exp_date'
> >>
> >> 2011/6/30 Quarck <quarcks...@gmail.com>:
> >>
> >>
> >>
> >>
> >>
> >> > [0] => Array
> >> > (
> >> > [Incident] => Array
> >> > (
> >> > [id] => 37
> >> > [start_date] => 2010-10-08
> >> > [exp_date] => 2010-10-14
> >> > [incoming_num] => 453-10
> >> > [incoming_date] => 2010-10-08
> >> > )
> >> > [Detail] => Array
> >> > (
> >> > [0] => Array
> >> > (
> >> > [id] => 98
> >> > [incident_id] => 37
> >> > [comment_id] => 1
> >> > [comment_date] => 2010-10-11 10:07:29
> >> > [notify_only] => 0
> >> > )
> >> > [1] => Array
> >> > (
> >> > [id] => 99
> >> > [incident_id] => 37
> >> > [comment_id] => 2
> >> > [comment_date] => 2010-10-11 17:01:09
> >> > [notify_only] => 0
> >> > )
> >> > [2] => Array
> >> > (
> >> > [id] => 100
> >> > [incident_id] => 37
> >> > [comment_id] => 3
> >> > [comment_date] => 2010-10-12 09:08:01
> >> > [notify_only] => 0
> >> > )
> >> > )
> >> > )
> >> > [1] => Array
> >> > How can I select only those Incident.id, whose last
> Detail.comment_date <
> >> > Incident.exp_date? Is it possible to compare in cakephp fields from
> >> > different tables? Thans as advance for any assistant.
> >>
> >> > --
> >> > Our newest site for the community: CakePHP Video Tutorials
> >> >http://tv.cakephp.org
> >> > Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help
> >> > others with their CakePHP related questions.
> >>
> >> > To unsubscribe from this group, send email to
> >> > cake-php+unsubscr...@googlegroups.com For more options, visit this
> group at
> >> >http://groups.google.com/group/cake-php
> >>
> >> --
> >> Pozdrawiam
> >> Dominik Gajewski
> >
> > --
> > Our newest site for the community: CakePHP Video Tutorials
> http://tv.cakephp.org
> > Check out the new CakePHP Questions site http://ask.cakephp.org and help
> others with their CakePHP related questions.
> >
> >
> > To unsubscribe from this group, send email to
> > cake-php+unsubscr...@googlegroups.com For more options, visit this group
> at http://groups.google.com/group/cake-php
> >
>
>
>
> --
> Pozdrawiam
> Dominik Gajewski
>
> --
> Our newest site for the community: CakePHP Video Tutorials
> http://tv.cakephp.org
> Check out the new CakePHP Questions site http://ask.cakephp.org and help
> others with their CakePHP related questions.
>
>
> To unsubscribe from this group, send email to
> cake-php+unsubscr...@googlegroups.com For more options, visit this group
> at http://groups.google.com/group/cake-php
>

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to