目前,我正在尝试显示一组不在日期X和日期Y之间的项目。假设book_date_start = 2021-06-15,bookdate_end = 2021-06-20。
这是我的当前查询:
$query->select('fac_query')
->from('facility_booking')
->where('book_date_start', '>=', $newstartdate)
->where('book_date_end', '<=', $newenddate);
基于这点
$newstartdate = 2021-06-13 and $newenddate = 2021-06-19 (Returns 0 records)
$newstartdate = 2021-06-21 and $newenddate = 2021-06-25 (Returns 0 records)
$newstartdate = 2021-06-11 and $newenddate = 2021-06-12 (Returns 0 records)
$newstartdate = 2021-06-13 and $newenddate = 2021-06-25 (Returns 1 records)
$newstartdate = 2021-06-17 and $newenddate = 2021-06-19 (Returns 0 records)
基本上,当我撰写上面的内容时,我意识到我的查询是错误的。由于2021年6月13日小于2021年6月15日(正确),而2021年6月20日大于2021年6月25日(正确),这就是为什么它返回了该记录。
我的问题是: 如果我只想返回在2021年6月15日至2021年6月20日期间选择的记录,该如何编写查询?(我很确定我在过度思考,但我非常迷茫。)我不需要完整的查询或答案,我只希望有人能稍微指点一下,我就可以自己完成了。谢谢大家阅读。