Yii связанный пустой экземпляр в поле зрения - PullRequest
1 голос
/ 03 декабря 2011

Предположим, у нас есть три таблицы AR:

  • product
  • property
  • 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 голосов
/ 03 декабря 2011

Если целью является создание новых записей, вы можете реализовать модель своей продукции следующим образом:

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');
}

более подробная информация здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...