我必须在没有保留的情况下写我需要沙龙的地方,所以我写这个:
Salon::whereHas('reservationsSalons', function($q) {
$q->whereNotBetween('start_time', [request()->start_time, request()->end_time]);
})
->get();
但问题是我没有得到没有保留的沙龙。所以我需要像
这样的东西->orwhereNotHas('reservationsSalons')
答案 0 :(得分:0)
您问题的简单答案是使用whereDoesntHave
。
然而,长期答案并不仅仅为您所知。我们无法看到您的代码,因此我们只能推测真正的问题是什么。留给我的是,我认为您的查询已经正确,假设您正在尝试获取未包含在输入时间中的预订。
找出问题的正确方法是使用DB::getQueryLog()
检查Laravel / Eloquent构建器生成的查询,并确保它是正确的查询。
此外,您可能会发现使用原始查询构建器或更原生的查询可以获得更快的查询。