我必须在我需要的地方编写查询,在那里我需要在没有预订的地方获得沙龙,所以我写了这个:
Salon::whereHas('reservationsSalons', function($q) {
$q->whereNotBetween('start_time', [request()->start_time, request()->end_time]);
})
->get();但问题是,我不能去没有预约的沙龙。所以我需要像这样的东西
->orwhereNotHas('reservationsSalons')发布于 2016-07-11 03:13:36
您的问题的简单答案是使用whereDoesntHave。
然而,长长的答案并不只是你自己知道的。我们看不到你的代码,所以我们只能推测真正的问题是什么。至于我,我认为您的查询已经是正确的,假设您正在尝试获取输入时间中未包含的预订。
找出问题的正确方法是使用DB::getQueryLog()检查由Laravel/Eloquent builder生成的查询,并确保它是正确的查询。
此外,您可能会发现,使用原始查询构建器或更本机的查询可以获得更快的查询。
https://stackoverflow.com/questions/36676088
复制相似问题