Php Laravel关系错误-尝试获取非对象的属性
我正在尝试获取已设置关系的id 板材型号Php Laravel关系错误-尝试获取非对象的属性,php,laravel,Php,Laravel,我正在尝试获取已设置关系的id 板材型号 public function plateContainer() { return $this->belongsTo('App\Models\PlateContainer'); } 平板容器型号 public function plate() { return $this->hasMany('App\Models\Plate'); } public function equipmentStatusCode() {
public function plateContainer()
{
return $this->belongsTo('App\Models\PlateContainer');
}
平板容器型号
public function plate()
{
return $this->hasMany('App\Models\Plate');
}
public function equipmentStatusCode()
{
return $this->hasOne('App\Models\EquipmentStatusCode');
}
public function plateContainer()
{
return $this->belongsTo('App\Models\PlateContainer');
}
设备状态代码型号
public function plate()
{
return $this->hasMany('App\Models\Plate');
}
public function equipmentStatusCode()
{
return $this->hasOne('App\Models\EquipmentStatusCode');
}
public function plateContainer()
{
return $this->belongsTo('App\Models\PlateContainer');
}
当我尝试的时候
$p = Plate::findOrFail(4);
$p->plateContainer->equipmentStatusCode;
return $p;
我尝试获取非对象的属性时得到
。我做错了什么 plateContainer
和equipmentStatusCode
是一种功能。使用圆括号
将以下关系添加到板模型:
public function equipmentStatusCode()
{
return $this->hasManyThrough('App\Models\EquipmentStatusCode', 'App\Models\PlateContainer');
}
并尝试:
$p = Plate::findOrFail(4);
$p->equipmentStatusCode();
return $p;
试试这个:
我只是想创造一个类似的情况。我同样修改了代码:
$p = Plate::findOrFail(4);
$p->equipmentStatusCode->plateContainer;
return $p;
我能够获取结果数组。plateContainer
不是$p
的属性,而是一个方法。这就是为什么会出现错误。@Daan我该如何解决这个问题?为表板和设备状态\u代码指定表结构我已经尝试过了。我得到未定义的属性:illumb\Database\Eloquent\Relations\BelongsTo::$equipmentStatusCode
您必须在equipmentStatusCode之后添加圆括号。我编辑了我的asnwer。我尝试了一下更新后的代码,现在我得到了调用undefined方法illumb\Database\Query\Builder::equipmentStatusCode()
哦,是的,你必须使用hasManyThrough关系。请试一试!这是我的错。第一个错误是因为我的数据库中没有任何东西(我知道这很愚蠢)。谢谢大家的努力!很高兴你找到了解决办法。谢谢:)