簡體   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