在laravel之间没有返回进入限制的日期?

问题描述 投票:0回答:1

$ tasks-> whereBetween('start_datetime',[$ request ['start_date_report'],$ request ['end_date_report']]);

没有返回$ request ['end_date_report']数据。

laravel
1个回答
0
投票

此问题通常与Laravel或任何框架无关,问题出在查询逻辑中。

问题可能是这样的:

  • 你有一个日期时间列
  • 您的数据包括时间部分,例如您有数据2017-12-01 08:00:002017-12-02 09:00:00
  • 您的查询不包括时间部分:between '2017-12-01' and '2017-12-02'

这将导致只有一个数据是2017-12-01 08:00:00,这是因为每个数据库引擎都会将时间默认为00:00:00,因此您的查询等于between '2017-12-01 00:00:00' and '2017-12-02 00:00:00'

因此,2017-12-02 09:00:00大于2017-12-02 00:00:00的上限,因此不包括在结果中

因此,如果您想在结果中包含2017-12-02 09:00:00,您可以将结束日期添加1天(不包括课程的时间部分),或者确保仅比较日期部分

© www.soinside.com 2019 - 2024. All rights reserved.