John, I have another similar challenge I’m working on and I thought you may be able to help.
Here’s my stackoverflow: http://stackoverflow.com/questions/27826627/cakephp-use-both-foreignkey-and-conditions-in-hasmany Any help would be appreciated. Thanks. — Matt -- Matt Myers Sent with Sparrow (http://www.sparrowmailapp.com/?sig) On Thursday, October 16, 2014 at 9:41 AM, Matt Myers wrote: > Thanks John! This looks great. I'll give it a try. > > -- > Matt > > > On Wednesday, October 15, 2014 12:35:40 PM UTC-6, John Andersen wrote: > > Hi Matt > > > > Created a test setup and got the result you wanted by defining each model > > as follows: > > > > class LinkedinPerson extends AppModel { > > public $hasMany = array( > > 'LinkedinRecommendation' => array( > > 'className' => 'LinkedinRecommendation', > > 'foreignKey' => 'linkedin_id', > > ) > > ); > > public $primaryKey = 'linkedin_id'; > > public $actsAs = array('Containable'); > > > > class LinkedinRecommendation extends AppModel { > > public $hasMany = array( > > 'LinkedinPerson' => array( > > 'className' => 'LinkedinPerson', > > ) > > ); > > public $actsAs = array('Containable'); > > > > In the LinkedinPeople controller I have the index function retrieve all the > > LinkedinPeople as: > > public function index() { > > $this->set('people', $this->LinkedinPerson->find('all', array( > > 'contain' => array('LinkedinRecommendation') > > ))); > > } > > > > This gives me the following result (debug output): > > Array ( [0] => Array ( [LinkedinPerson] => Array ( [id] => 1 [name] => test > > person1 [linkedin_id] => 11111111 ) [LinkedinRecommendation] => Array ( [0] > > => Array ( [id] => 1 [content] => Recommendation 1 [linkedin_id] => > > 11111111 [by_linkedin_id] => 44444444 ) [1] => Array ( [id] => 2 [content] > > => Recommendation 2 [linkedin_id] => 11111111 [by_linkedin_id] => 22222222 > > ) [2] => Array ( [id] => 3 [content] => Recommendation 3 [linkedin_id] => > > 11111111 [by_linkedin_id] => 22222222 ) ) ) [1] => Array ( [LinkedinPerson] > > => Array ( [id] => 2 [name] => test person2 [linkedin_id] => 22222222 ) > > [LinkedinRecommendation] => Array ( [0] => Array ( [id] => 4 [content] => > > Recommendation 4 [linkedin_id] => 22222222 [by_linkedin_id] => 33333333 ) > > [1] => Array ( [id] => 7 [content] => Recommendation 7 [linkedin_id] => > > 22222222 [by_linkedin_id] => 11111111 ) ) ) [2] => Array ( [LinkedinPerson] > > => Array ( [id] => 3 [name] => test person3 [linkedin_id] => 33333333 ) > > [LinkedinRecommendation] => Array ( [0] => Array ( [id] => 5 [content] => > > Recommendation 5 [linkedin_id] => 33333333 [by_linkedin_id] => 11111111 ) > > [1] => Array ( [id] => 6 [content] => Recommendation 6 [linkedin_id] => > > 33333333 [by_linkedin_id] => 33333333 ) ) ) [3] => Array ( [LinkedinPerson] > > => Array ( [id] => 4 [name] => test person4 [linkedin_id] => 44444444 ) > > [LinkedinRecommendation] => Array ( [0] => Array ( [id] => 8 [content] => > > Recommendation 8 [linkedin_id] => 44444444 [by_linkedin_id] => 11111111 ) ) > > ) ) > > > > Hope you can use the above. Please note that I always uses the Containable > > behavior. > > Enjoy, John > > > -- > 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 a topic in the Google > Groups "CakePHP" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/cake-php/MAW94cc-jeQ/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected] > (mailto:[email protected]). > To post to this group, send email to [email protected] > (mailto:[email protected]). > Visit this group at http://groups.google.com/group/cake-php. > For more options, visit https://groups.google.com/d/optout. -- 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.
