我正在尝试获取我已设置的关系的ID。
板模型
public function plateContainer()
{
return $this->belongsTo('App\Models\PlateContainer');
}
PlateContainer 模型
public function plate()
{
return $this->hasMany('App\Models\Plate');
}
public function equipmentStatusCode()
{
return $this->hasOne('App\Models\EquipmentStatusCode');
}
EquipmentStatusCode 型号
public function plateContainer()
{
return $this->belongsTo('App\Models\PlateContainer');
}
当我尝试。
$p = Plate::findOrFail(4);
$p->plateContainer->equipmentStatusCode;
return $p;
我得到Trying to get property of non-object
。我做错了什么?
答案 0 :(得分:2)
plateContainer
和equipmentStatusCode
是一个功能。使用圆括号。
将以下关系添加到Plate模型:
public function equipmentStatusCode()
{
return $this->hasManyThrough('App\Models\EquipmentStatusCode', 'App\Models\PlateContainer');
}
尝试:
$p = Plate::findOrFail(4);
$p->equipmentStatusCode();
return $p;
答案 1 :(得分:2)
试试这个:
我只是试图创造一个类似的情况。我同样修改了代码:
$p = Plate::findOrFail(4);
$p->equipmentStatusCode->plateContainer;
return $p;
我能够获取结果数组。