我有3个型号:
用户可以有很多班次。一个班次可以有很多ShiftRequests。我试图通过急切加载检索所有没有转移请求的班次。这就是我所拥有的:
user.php的
public function shiftsBetween($startDate, $endDate, $with = ['shiftType'], $withoutShiftRequests = false)
{
$q = $this->hasMany(Shift::class)
->between($startDate, $endDate)
->with($with);
if ($withoutShiftRequests) {
// $q->has('request');
}
return $q->get();
}
如果我添加->has('request')
,它会向我提供所有有班次请求的班次。是否有相反的功能(例如notHas('request')
)?
我还考虑在$with
数组中设置一个约束,但由于它是一对多的关系,所以shift_request表中没有任何内容可以约束它。