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.digital@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, crouchjay@googlemail.com
> <crouchjay@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+unsubscribe@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+unsubscribe@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.
Sunday, February 10, 2013
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment