laravel 5.4中三个表的雄辩关系

时间:2017-05-22 05:43:02

标签: laravel-5.4 laravel-eloquent

我有三个名为JobJobDetailCustomer的模型。JobJobDetail有许多关系,Customer有很多关系与Job。 以下是表格的结构。

Job
id customer_id jobname

JobDetail 
id job_id days

Customer 
id name

以下是模型:

class Job extends Model
{
    public function job_details()
    {
        return $this->hasMany('App\JobDetail','job_id','id');
    }

}

class Customer extends Model
{
    public function customer()
    {
        return $this->hasMany('App\Job','customer_id','id');
    }
}

class JobDetail extends Model
{
    //
}

我试图执行下面的查询,但它的抛出错误如Call to undefined relationship [customer] on model [App\Job].

我的查询:

 $data = Job::with(['job_details','customer'])->get();

有人可以建议我如何连接这些模型并获取数据? 谢谢!

1 个答案:

答案 0 :(得分:0)

您未在customer模型中为Job指定关系。

所以,这样的事情应该可以解决问题:

public function customer()
{
    return $this->belongsTo('App\Customer','job_id','id');
}
相关问题