Laravel在嵌套查询中查询模型?

时间:2017-07-17 19:11:35

标签: php laravel-5.3

我有一个约会模型,它与Employee和Employee与用户有关系。我试图查询特定日期($ weekStart和$ weekEnd)之间的约会列表,并检索约会以及相关的员工和用户。

到目前为止,这有效,它返回所有我的客户所有约会和分配的员工/用户(员工属于用户)。

'clients' => Client::with('careType','appointments.employees.user')->get(),

但是我希望在约会模型的日期之间指定。所以我有这个:

$data = [
  'clients' => Client::with(['appointments' => function ($query)  use ($weekStart, $weekEnd) {
        $query->whereBetween('starts_at', [$weekStart, $weekEnd]);
        }])->get(), 
]; 

在上面,当我有子查询时,还检索员工和用户模型的语法是什么?

1 个答案:

答案 0 :(得分:1)

您只需在Client with()数组中添加其他模型。

$data = [
  'clients' => Client::with(['appointments' => function ($query)  use ($weekStart, $weekEnd) {
        $query->whereBetween('starts_at', [$weekStart, $weekEnd]);
        }, 'appointments.employees.user'])->get(), 
];