假设我们有三个AR表:
每个表都与其他表有关系,因此属性表对产品表有外键,因此property_value表有属性表的外键。
如果所有AR表都为空,我怎样才能在视图中显示所有相关表?
$product = new Product();
$this->render('update', array('model' => $product));
现在在视图中
foreach($model->property as $propertyModel) {
echo $form->textField($propertyModel, 'name');
}
但如果产品型号是新的,它没有与属性相关的实例。
当然我们可以创建所有相关表的新实例并将其放入视图中,但我认为可能有更好的方法来实现这一点。
也许Yii有一些像getBlankRelated()
这样的方法。我错过了什么吗?
答案 0 :(得分:0)
如果目的是创建新记录,您可以在产品模型中建立关系,如:
public function relations(){
return array(
....
'property'=>array(self::BELONGS_TO,'Product','Product_id'),
);
}
//you can access property in a lazy approach, Yii creates the property for you
foreach($model->property as $propertyModel) {
echo $form->textField($propertyModel, 'name');
}
更多详情为here