多表的雄辩关系

时间:2017-03-24 12:31:50

标签: laravel laravel-5 eloquent laravel-5.4

我在laravel5.4工作。我创建了四个表作为票证用户公司。在此,我已在故障单表中存储用户 ID 。并在用户表中存储公司 ID

在这里,我想用用户公司名称显示故障单用户名。

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

故障单型号:

public function requesters(){
    return $this->belongsTo('App\User','requester_id');
}

此处 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);

现在,我想获取公司信息或 request_id 那么我应该在此查询中进行哪些更改以获取公司信息以及故障单和用户?

2 个答案:

答案 0 :(得分:2)

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

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

但是如果你加载嵌套关系,你可以使用更短的符号 - 你可以省略父关系,所以它足以在这里使用:

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

答案 1 :(得分:0)

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

document.write