如何传递(开始 <= date1 和结束 >= date1)|| (start <= date2 and end >= date2) laravel 中的条件
How to pass (start <= date1 and end >= date1) || (start <= date2 and end >= date2) condition in laravel
大家好,我想通过这样的条件:
(开始 <= date1 并且结束 >= date1)|| (开始 <= date2 并且结束 >= date2) in laravel。
如何通过此查询?
$events = DB::table('christophheich_calendar_entries')->whereNull('deleted_at');
有人可以帮忙吗?
谢谢
您可以使用如下 where
语句:
$events = DB::table('christophheich_calendar_entries')
->where(function($q) use($date1, $date2) {
$q->where(function($q2) use($date1) {
$q2->where('start', '<=', $date1)->where('end', '>=', $date1);
})->orWhere(function($q2) use($date2) {
$q2->where('start', '<=', $date2)->where('end', '>=', $date2);
});
})
->whereNull('deleted_at');
这是创建 where
子句的方法,其中包含处理 where 的 or
部分的内部查询。确保 $date1
和 $date2
在查询之前初始化。
大家好,我想通过这样的条件: (开始 <= date1 并且结束 >= date1)|| (开始 <= date2 并且结束 >= date2) in laravel。 如何通过此查询?
$events = DB::table('christophheich_calendar_entries')->whereNull('deleted_at');
有人可以帮忙吗? 谢谢
您可以使用如下 where
语句:
$events = DB::table('christophheich_calendar_entries')
->where(function($q) use($date1, $date2) {
$q->where(function($q2) use($date1) {
$q2->where('start', '<=', $date1)->where('end', '>=', $date1);
})->orWhere(function($q2) use($date2) {
$q2->where('start', '<=', $date2)->where('end', '>=', $date2);
});
})
->whereNull('deleted_at');
这是创建 where
子句的方法,其中包含处理 where 的 or
部分的内部查询。确保 $date1
和 $date2
在查询之前初始化。