Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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-在日期之间从mysql查询数据_Php_Mysql_Date_Laravel 5.2 - Fatal编程技术网

Php Laravel-在日期之间从mysql查询数据

Php Laravel-在日期之间从mysql查询数据,php,mysql,date,laravel-5.2,Php,Mysql,Date,Laravel 5.2,使用下面的查询从表中获取行时遇到问题,预期的行为是: 用户在表单中选择开始/结束日期,点击submit,数据传递给函数,然后在查询中使用 表单中的数据很好&我已经验证了进入查询的日期,但是由于某种原因,查询总是返回零结果?当我去掉日期的WHERE语句时,查询工作得很好&生成结果,因此问题与日期有关 $fromDate = $request->fromDate; $toDate = $request->toDate; $data = cc_table::all('*') -&

使用下面的查询从表中获取行时遇到问题,预期的行为是:

用户在表单中选择开始/结束日期,点击submit,数据传递给函数,然后在查询中使用

表单中的数据很好&我已经验证了进入查询的日期,但是由于某种原因,查询总是返回零结果?当我去掉日期的WHERE语句时,查询工作得很好&生成结果,因此问题与日期有关

$fromDate = $request->fromDate;
$toDate = $request->toDate;

$data = cc_table::all('*')
    ->where('link', '1')
    ->where('created_at', '>', $fromDate)
    ->where('created_at', '<', $toDate)
    ->toArray();
$fromDate=$request->fromDate;
$toDate=$request->toDate;
$data=cc_表::全部('*'))
->其中('link','1')
->其中('created_at','>',$fromDate)
->其中('created_at','尝试一下:

$fromDate = Carbon::parse($request->input('fromDate'))->format('Y-m-d');
$toDate = Carbon::parse($request->input('toDate'))->format('Y-m-d');
$date_range = [$fromDate . ' 00:00:00', $toDate . ' 23:59:59'];

$data = cc_table::where('link', '1')
->whereBetween('created_at', $date_range)
->get();
$date\u range
的格式取决于MySQL列的类型


注意:一定要在上面的代码片段的脚本顶部使用Carbon\Carbon;

为什么不一直使用yyyy-mm-dd呢?这非常好,非常感谢您的帮助。另外,感谢“whereBetween”-我在laravel文档中忽略了这一点。谢谢
$fromDate = Carbon::parse($request->input('fromDate'))->format('Y-m-d');
$toDate = Carbon::parse($request->input('toDate'))->format('Y-m-d');
$date_range = [$fromDate . ' 00:00:00', $toDate . ' 23:59:59'];

$data = cc_table::where('link', '1')
->whereBetween('created_at', $date_range)
->get();