Hi Martin
Thanks for the clarification. It seems that the manual may need a tweaking there as I have seen numerous people posting related questions to mine. Thanks again c5 On Wed, 2009-08-19 at 02:05 -0700, Martin Westin wrote: > Well the manual might be slightly misleading. The text states that > Containable can "filter" the associated data. It is the example output > that is wrong (AFAIK), showing data as from a join. > > Containable does "nothing more" than filter the returned data, model > for model. It does not mimic joins. I am not saying this is a fault or > a shortcoming of Containable... it is just the way it is designed and > it does it's job well. > > We answered a question yesterday, giving the exact example of Posts > and Comments... funny. It is here, along with links to some code and > articles showing how to set up something like "Joinable". > http://groups.google.com/group/cake-php/browse_thread/thread/43b4a9fcc18cf442 > > The alternative is to do some array-looping in php to remove unwanted > results. This is fine for small datasets but gets very slow when you > get up into thousands of results. > > /Martin > > > On Aug 18, 7:55 pm, channel5 <[email protected]> wrote: > > Hi All > > > > I am working through examples of containable and applying conditions > > to the results. > > > > I have a basic blog example running, where Posts can have many > > comments. > > > > I'm trying to use contain with conditions so I can pick out only posts > > that have been commented on by a particular user. > > > > Here is my test function from my controller: > > > > function test() { > > $result = $this->Post->find('all',array('contain' => > > 'Comment.name > > = "Howard"')); > > debug($result); > > } > > > > I would expect the debug output in my view to only contain Posts which > > user Howard has commented on.. however here are the results I get: > > > > Array > > ( > > [0] => Array > > ( > > [Post] => Array > > ( > > [id] => 1 > > [name] => First post > > [date] => 2009-08-13 15:01:00 > > [content] => This is our first blog post, how > > exciting. > > [user_id] => 1 > > ) > > > > [Comment] => Array > > ( > > [0] => Array > > ( > > [id] => 1 > > [name] => Howard > > [content] => Lovely post, really lovely > > post. > > [post_id] => 1 > > ) > > > > ) > > > > ) > > > > [1] => Array > > ( > > [Post] => Array > > ( > > [id] => 2 > > [name] => Our second post > > [date] => 2009-08-14 10:11:00 > > [content] => Our second post > > [user_id] => 1 > > ) > > > > [Comment] => Array > > ( > > ) > > > > ) > > > > So as you can see it is still returning ALL posts yet only attaching > > comments if they were made by Howard. > > > > This isn't the behaviour I was expecting, as the example code shown > > athttp://book.cakephp.org/view/474/Containableclaims it should exclude > > all Posts without comments by the specified user. > > > > I am hoping someone can point me in the right direction here. > > > > Thanks > > c5 > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
