на примере двух простых моделей:
Код: Выделить всё
**** Categories extends CActiveRecord {
* @property integer $id
* @property string $name
Код: Выделить всё
**** Products extends CActiveRecord
* @property integer $id
* @property string $name
* @property integer $category_id
* @property string $image
* @property string $thumbnail
Сгенерировал стандартный крад, и заменил как в мануале:
в модели Products :
Код: Выделить всё
public function relations()
{
return array(
'category'=>array(self::HAS_ONE, 'Categories', 'name'), // тут пробовал ставить айди
);
}
Код: Выделить всё
public function actionIndex()
{
$criteria = new CDbCriteria(array(
'with' => 'category',
)); // добавил критерий
$dataProvider = new CActiveDataProvider('Products', array(
'criteria' => $criteria, // добавил ага
));
$this->render('index', array(
'dataProvider' => $dataProvider,
));
}
Код: Выделить всё
<b><?php echo CHtml::encode($data->getAttributeLabel('category')); ?>:</b>
<?php echo CHtml::encode($data->category); ?> //пробовал $data->category->name); ошибка Trying to get property of non-object
<br />
Category:
нифга тоесть, только лейблу, хотя я ожидаю там увидеть название первой категории (name)
пожалуйста, помогите или натолкните на что почитать чтоб я врубился, потому что нужно будет делать и редактирование и поведения туда..