为什么我的关系'试图获得非对象的属性' ???
我有模型目的地,并使用hasOne()来建模AddressDistrict
public function getDestinationAddressDistrict(){
return $this->hasOne(\common\models\AddressDistrict::className(), ['id' => 'DISTRICT']);
}
在模型 AdressDistrict 任何字段中:id,propinsi_id,nama
public function attributeLabels()
{
return [
'id' => 'ID',
'propinsi_id' => 'Propinsi ID',
'nama' => 'Nama',
];
}
在controller(actionIndex)中,我得到模型Destination:
$modelDestination = new Destination;
然后我转到创建然后我转到 _form ..
在 _form 中,我写了$modelDestination->destinationAddressDistrict->id
..我有通知..有什么解决方案吗?
答案 0 :(得分:1)
您的问题是您创建了Destination
的新实例,因此所有字段都为空,因此无法根据DISTRICT
的值获取有效关系,因为{ {1}}尚未设置。
您有两种选择。您可以测试是否存在有效关系;
DISTRICT
或者您可以指定默认值if ($modelDestination->destinationAddressDistrict){
//Do something with the `$modelDestination->destinationAddressDistrict->id`
}
,以便生成有效关系。