Thank you again John.

I just can't see how it could not be done more easily. 
I have 1 million records for Parent model.
That sub-query could take more time than users are willing to wait.

I can write SQL like this for example

SELECT p.id, p.name, c.name FROM parents p
LEFT JOIN  children c ON p.id = c.parent_id
WHERE c.name IS NULL;

How do I make CakePHP do something like this?




2014年11月18日火曜日 3時38分31秒 UTC+9 John Andersen:
>
> Ok, if you cannot modify the database tables, then the other option is to 
> use sub-queries, see the CakePHP book at:
> http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#sub-queries
>
> My understanding of this, is that you first construct the SQL statement 
> for finding all the parent ids in the child table, then uses that SQL 
> statement as a condition for finding all parent records with the id not 
> being found by the previous SQL statement.
>
> Hope that helps you out :)
> Enjoy, John
>
> On Monday, 17 November 2014 06:05:48 UTC+2, Kento Furui wrote:
>>
>> Thank you John.
>>
>> counterCache seems to be a good idea. 
>> But there must be a way to do this *without adding a column* to an 
>> existing table.
>> [snip]
>>
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to