Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel`->where date`不包括今天_Php_Mysql_Laravel - Fatal编程技术网

Php Laravel`->where date`不包括今天

Php Laravel`->where date`不包括今天,php,mysql,laravel,Php,Mysql,Laravel,Laravel->whereDate不包括今天 我的数据库开始和结束有2个datetime列。我用这个来查询 $result = BlaModel::where('status', '=', "bla") ->whereDate('start', '<=', $date) ->whereDate('end', '>', $date) ->get()

Laravel->whereDate不包括今天

我的数据库开始和结束有2个datetime列。我用这个来查询

$result = BlaModel::where('status', '=', "bla")
                    ->whereDate('start', '<=', $date)
                    ->whereDate('end', '>', $date)
                    ->get();

问题:为什么此查询不获取该条目。任何建议都会有帮助。谢谢。

因为whereDate将使用mysql内置方法日期更改为原始sql:

挑选* 从`布拉斯` 地点日期“开始”2020-03-25 11:23:09 所以date2020-03-2520:59:00=>2020-03-25,这比“2020-03-2511:23:09”要小

您可以将代码更改为

$result=blammodel::其中'status','=',bla ->“开始”的位置,$date ->得到;
因为whereDate将使用mysql内置方法DATE更改为原始sql:

挑选* 从`布拉斯` 地点日期“开始”2020-03-25 11:23:09 所以date2020-03-2520:59:00=>2020-03-25,这比“2020-03-2511:23:09”要小

您可以将代码更改为

$result=blammodel::其中'status','=',bla ->“开始”的位置,$date ->得到; 试试这个

如果您想使用WhereDate,请像这样编写查询

试试这个

如果您想使用WhereDate,请像这样编写查询

start - 2020-03-18 10:44:00
end - 2020-03-25 20:59:00
$result = BlaModel::where('status', '=', "bla")
                    ->whereDate('start', '<=', \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', '2020-03-18 10:44:00')->format('Y-m-d'))
                    ->whereDate('end', '>',\Carbon\Carbon::createFromFormat('Y-m-d H:i:s', '2020-03-25 20:59:00')->format('Y-m-d'))
                    ->get();
$result = BlaModel::where('status', '=', "bla")
                    ->where('start', '<=', $date)
                    ->where('end', '>', $date)
                    ->get();