php - Laravel 7 DB 仅在日期范围不在日期范围内的情况下查询
问题描述
我有这样的事情:
$from = min($start_date, $end_date);
$till = max($start_date, $end_date);
DB::table('booked')
->where('start', '<=', $from)
->where('end', '>=', $till)
->get();
这是stackoverflow的一个很好的解决方案。
它似乎有效,但我需要相反的。
在我的数据库中,我有以下数据:开始:2020-09-27 10:00:00 结束:2020-09-27 12:00:00 我必须查询这些行,例如:
$start_date(2020-09-27 9:00:00) 和 $end_date(2020-09-27 11:00:00) 两者都不在 start: 和 end: 希望我的问题足够清楚。
解决方案
如果我让你正确,这就是你所需要的
$from = min($start_date, $end_date);
$till = max($start_date, $end_date);
DB::table('booked')
->where('start', '>=', $till)
->orWhere('end', '<=', $from)
->get();
推荐阅读
- javascript - 如何为子组件使用带有道具的嵌套路由
- solr - SOLR boost查询顺序错误
- html - 如何使用 selenium、beautifulsoup 和 python 3 从页面中读取和保存图像?
- javascript - ReactJs TypeError:无法读取未定义的属性“单击”
- c++ - 如果我不使用 QThread 的指针对象,为什么仍然需要 QThread deleteLater?
- bokeh - 使用散景服务为多个应用程序提供服务时是否可以自定义 app_index.html?
- javascript - 使用 Javascript 重复日期
- c# - OnHandleCreated 的窗口服务等效项(来自 C#)
- python - 如何纠正 Python 中的“意外缩进”错误?
- matplotlib - TypeError - 无法根据规则“安全”将数组数据从 dtype('O') 转换为 dtype('float64')