Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel关系错误-尝试获取非对象的属性_Php_Laravel - Fatal编程技术网

Php Laravel关系错误-尝试获取非对象的属性

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() {

我正在尝试获取已设置关系的id

板材型号

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关系。请试一试!这是我的错。第一个错误是因为我的数据库中没有任何东西(我知道这很愚蠢)。谢谢大家的努力!很高兴你找到了解决办法。谢谢:)