I forgot the Language model to get the *other* langs the artist uses. public function getArtistsForLang($lang) { return $this->find( 'all', array( 'conditions' => array( $this->alias.'.code' => $lang ), 'contain' => array( 'Artist' => array( 'ArtistsLanguage' => array( 'Language' ) ) ) ) ); }
On Sun, Feb 10, 2013 at 8:53 PM, lowpass <zijn.digi...@gmail.com> wrote: > Try this. I'm assuming your languages table has a 'code' column and > the request passes a 2-letter string for the code for the desired > language. That's probably how I'd do it but you may need to modify for > your own setup. > > (This would be in the Language model.) > > public function getArtistsForLang($lang) > { > return $this->find( > 'all', > array( > 'conditions' => array( > $this->alias.'.code' => $lang > ), > 'contain' => array( > 'Artist' => array( > 'ArtistsLanguage' > ) > ) > ) > ); > } > > This could be improved by specifying joins to reduce the number of queries. > > On Sun, Feb 10, 2013 at 7:25 AM, crouch...@googlemail.com > <crouch...@googlemail.com> wrote: >> Hi all, >> >> If this topic is covered, sorry, but I don't really know what to search >> under and all my searches resulted in nothing. >> >> Background: >> Developing a site for a voice over company. >> >> Requirement: >> Voice artists can have several different languages and languages can have >> several different voice artists, each artist can have a playable recording >> for each language. >> >> What am I doing: >> Searching for all artists that can speak a given language, but want to know >> what languages they also speak. >> >> Basic search: >> $this->Language->find('all'); >> >> Result >> Language->Artist->ArtistsLanguage<-- Only the record to the language is >> resulting. >> >> Desire >> Language->Artist->Language->array(record 1->ArtistsLanguage, record >> 2->ArtistsLanguage, etc...) >> >> Comments: >> Basically, I am looking to find all artists for a given language. This part >> works, but the result for the list of languages that the artists speaks only >> results in the HABTM model record belonging to the artist. >> >> How can a do a round trip in a HABTM relationship? >> >> Thanks for all the help, >> Jay >> Result: >> >> -- >> 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 cake-php+unsubscr...@googlegroups.com. >> To post to this group, send email to cake-php@googlegroups.com. >> Visit this group at http://groups.google.com/group/cake-php?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> -- 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 cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php?hl=en. For more options, visit https://groups.google.com/groups/opt_out.