Laravel 多表的雄辩关系

Laravel 多表的雄辩关系,laravel,laravel-5,eloquent,laravel-5.4,Laravel,Laravel 5,Eloquent,Laravel 5.4,我在laravel5.4工作。我创建了四个表,分别为票证、用户、和公司。在这里,我将用户id存储在票证表中。并将公司id存储在用户表中 在这里,我想用用户公司名称显示票证的用户名 在这里,我为它创建了如下所示的关系 Ticket::with('requesters')->orderBy('subject','asc')->paginate(10); 机票型号: public function requesters(){ return $this->belongsTo(

我在laravel5.4工作。我创建了四个表,分别为票证用户、和公司。在这里,我将用户id存储在票证表中。并将公司id存储在用户表中

在这里,我想用用户公司名称显示票证的用户名

在这里,我为它创建了如下所示的关系

Ticket::with('requesters')->orderBy('subject','asc')->paginate(10);
机票型号:

public function requesters(){
    return $this->belongsTo('App\User','requester_id');
}
public function company()
{
    return $this->belongsTo('App\Models\Admin\Company');
}
public function Users()
{
    return $this->hasOne('App\Users');
}
这里请求者\u id是创建票证的人

用户型号:

public function requesters(){
    return $this->belongsTo('App\User','requester_id');
}
public function company()
{
    return $this->belongsTo('App\Models\Admin\Company');
}
public function Users()
{
    return $this->hasOne('App\Users');
}
公司模式:

public function requesters(){
    return $this->belongsTo('App\User','requester_id');
}
public function company()
{
    return $this->belongsTo('App\Models\Admin\Company');
}
public function Users()
{
    return $this->hasOne('App\Users');
}
在这里,我编写了一个查询来获取如下所示的用户信息

Ticket::with('requesters')->orderBy('subject','asc')->paginate(10);

现在,我想获取公司信息或请求\u id,那么我应该在这个查询中做什么更改才能获取公司信息以及票证和用户?

试试这个,它应该适用于这种情况:

Ticket::with('requesters')
      ->with('requesters.company')
      ->orderBy('subject','asc')->paginate(10);

试试这个,它应该适用于这种情况:

Ticket::with('requesters')
      ->with('requesters.company')
      ->orderBy('subject','asc')->paginate(10);

如果您想加载多个关系,可以将它们全部放在一个
中,如下所示:

Ticket::with('requesters','requesters.company')->orderBy('subject','asc')->paginate(10);
但如果加载嵌套关系,则可以使用较短的符号-可以省略父关系,因此在此处使用就足够了:

Ticket::with('requesters.company')->orderBy('subject','asc')->paginate(10);

如果您想加载多个关系,可以将它们全部放在一个
中,如下所示:

Ticket::with('requesters','requesters.company')->orderBy('subject','asc')->paginate(10);
但如果加载嵌套关系,则可以使用较短的符号-可以省略父关系,因此在此处使用就足够了:

Ticket::with('requesters.company')->orderBy('subject','asc')->paginate(10);