繁体   English   中英

Laravel-从日期之间的MySQL查询数据

[英]Laravel - query data from mysql between dates

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

用户以表格的形式选择开始/结束日期,然后点击“提交”,数据将传递给函数,然后在查询中使用它。

来自表单的数据很好,我已经验证了查询中的日期,但是由于某种原因,查询始终返回零结果? 当我删除日期的WHERE语句时,查询可以正常工作并产生结果,所以问题与日期有关。

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

$data = cc_table::all('*')
    ->where('link', '1')
    ->where('created_at', '>', $fromDate)
    ->where('created_at', '<', $toDate)
    ->toArray();

表单中的日期格式为dd / mm / yyyy,created_at日期为时间戳,但是为了测试,我确实将created_at更改为DATE(dd / mm / yyyy),但是查询仍然返回零行。

仅供参考-我只是在表单上使用jquery datepicker:

 $(function() {
    $( "#fromDate" ).datepicker();
  });
  </script>

试试看:

$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_range的格式取决于MySQL列的类型。

注意:请务必use Carbon\\Carbon; 在具有上述代码段的脚本顶部。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM