CakePHP containable uygun bir şekilde filtre yok

0 Cevap php

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?

0 Cevap