Laravel获得关系

时间:2018-07-04 15:19:02

标签: php laravel-5 eloquent

我有一个如下数据库:

个设备 -ID 名称

available_params -ID 名称

可报告 -ID -设备编号 -available_params_id -last_value

我的查询基于具有以下内容的设备模型

    public function reportable()
{
    return $this->hasMany(Reportable::class);
}

有效

我的可报告模型具有:

    public function n4sparameter()
{
    return $this->hasMany(AvailableParams::class,'id','available_params_id');
}

那就是那不起作用的部分。

$device = Device::with(['reportable','reportable.available_params', 'created_by'])->findOrFail($id);

为了避免某些关系错误,我尝试了hasMany,belongsTo和其他一些方法。

1 个答案:

答案 0 :(得分:1)

我发现问题出在我的问题上。 @ m-khalid-junaid,您对这个问题的回答是正确的……但是问题是由于范围所致。

我的主要模型设备受team_id限制,两个连续的模型,reportable和available_params没有team_id

我只是添加:

return $this->hasMany(Reportable::class)->withoutGlobalScopes();

现在可以使用。感谢您的反馈