CakePHP'de kılavuzda örnek gibi, http://book.cakephp.org/view/1323/Containable#Containing-deeper-associations-1325, ben onun ilişki modeli bir durum üzerinden bir model veri getirmesi gerekir.
I var:
Model Dil:
class Language extends AppModel {
var $name = 'Language';
var $actsAs = array('Containable');
var $hasMany = array(
'LanguageTranslation' => array(
'className' => 'LanguageTranslation',
'foreignKey' => 'language_id'
)
);
}
Ve dernek, ModelTranslation
class LanguageTranslation extends AppModel {
var $name = 'LanguageTranslation';
var $belongsTo = array(
'Language'
);
}
i ne zaman:
$language_array = $this->controller->Language->find('all', array(
'contain' => "LanguageTranslation.id = 1"
));
i tüm dilleri değil, sadece bir (LanguageTranslation id benzersiz olduğundan) alırsınız. Sonuç biri olmak gerekir!
SO, birlikte
debug($language_array);
sonucudur:
Array
(
[0] => Array
(
[Language] => Array
(
[id] => 1
[code] => it
[locale] => ita
)
[LanguageTranslation] => Array
(
[0] => Array
(
[id] => 1
[language_id] => 1
[language] => italiano
)
)
)
[1] => Array
(
[Language] => Array
(
[id] => 2
[code] => en
[locale] => eng
)
[LanguageTranslation] => Array
(
)
)
[2] => Array
(
[Language] => Array
(
[id] => 3
[code] => de
[locale] => ger
)
[LanguageTranslation] => Array
(
)
)
)
Neden ben id = 1 ile sadece dil yakalamak değil mi?