У меня есть 2 стола, а именно Оборудование и Поставка.как установить отношение с пустым значением?
Я использовал array_merge в Yii PHP, чтобы служить в качестве объединения двух разных таблиц с целью diplaying их в одной сетке.
Все работает нормально с полями, которые являются общими для двух таблиц. Проблема заключается в том, что я пытаюсь отобразить поле, которое существует только в одной из этих двух таблиц. Это говорит недвижимости «Supply.equipType» не определен», потому что только оборудование имеет отношение equipType
в моей GridView:.
array(
'name'=>'equipment_type',
'value'=>'$data->equipType->name',
),
в мой контроллер, где я сделал слияние:
$prov1 = new CActiveDataProvider('BaseEiEquipItem', array(
'criteria' => array(
'condition' => 'id>0'
)));
$prov2 = new CActiveDataProvider('BaseSiReceivedItem', array(
'criteria' => array(
'condition' => 'id>0'
)));
$records=array_merge($prov1->data , $prov2->data);
$provAll = new CArrayDataProvider($records,
array(
'sort' => array(//optional and sortring
'keyField'=>false,
'attributes' => array(
'id', 'description',),
),
'pagination' => array('pageSize' => 10) //optional add a pagination
)
);
$this->render('create',array(
'model'=>$model,
'searchModel'=>$searchModel,
'modelGrid'=>$modelGrid,
'provAll' => $provAll,
));
в моей модели оборудования:
public function relations() {
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'equipType' => array(self::BELONGS_TO, 'BaseRefEquipmentType', 'equipment_type'),
);
}
Любая идея о том, как это решить? Есть ли способ подделать отношение или что-то еще?
заранее заблаговременно
Я уже поставил свои коды sir @EmilioGort – Enrico