私はGoodsCats
次の関係を持つモデルを持っています:
public function relations(){
return array(
'GoodsCatsContent' => array(self::HAS_MANY, 'GoodsCatsContent', 'parent_id'),
);
}
そして今、私はすべての要素を見つけたいと思っていますGoodsCats
が、1つの子要素(特定のlanguage_id
)を持っています:
$cats = GoodsCats::model()->with(
array(
'GoodsCatsContent'=>array(
'on'=>'languages_id = 1'
)
)
)->findAll();
そして、各要素が次のような配列を受け取りますGoodsCats.id=>GoodsCatsContent.name
。
CHtml::listData(cats, 'id', 'name')
しかし、今のところエラーが発生していますGoodsCats.name not defined
。GoodsCats
リレーションをself::HAS_ONEとして設定すると、すべて正常に機能しますが、プロジェクト全体で変更することはできません。定義された関係タイプではなく特定の関係タイプを使用するようにmodel()-> with()を設定することは可能ですか?
モデルのルールをUPDします。
GoodsCatsContent
:
public function rules()
{
return array(
array('parent_id', 'required'),
array('active', 'numerical', 'integerOnly'=>true),
array('parent_id', 'length', 'max'=>10),
array('name, seo_title, seo_keywords, seo_description', 'length', 'max'=>255),
array('short_content, content', 'safe'),
array('id, parent_id, active, name, short_content, content, seo_title, seo_keywords, seo_description', 'safe', 'on'=>'search'),
);
}
GoodsCats
:
public function rules()
{
return array(
array('active, prior', 'numerical', 'integerOnly'=>true),
array('photo', 'length', 'max'=>255),
array('id, photo, active, prior', 'safe', 'on'=>'search'),
);
}