Yii相关的空白实例在视图中

时间:2011-12-03 12:10:28

标签: database activerecord yii

假设我们有三个AR表:

  • 产品
  • 属性
  • PROPERTY_VALUE

每个表都与其他表有关系,因此属性表对产品表有外键,因此property_value表有属性表的外键。

如果所有AR表都为空,我怎样才能在视图中显示所有相关表?

$product = new Product();
$this->render('update', array('model' => $product));

现在在视图中

foreach($model->property as $propertyModel) {
    echo $form->textField($propertyModel, 'name');
}

但如果产品型号是新的,它没有与属性相关的实例。

当然我们可以创建所有相关表的新实例并将其放入视图中,但我认为可能有更好的方法来实现这一点。
也许Yii有一些像getBlankRelated()这样的方法。我错过了什么吗?

1 个答案:

答案 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