【问题标题】:laravel - query date between always return empty resultlaravel - 查询日期总是返回空结果
【发布时间】:2021-08-16 12:11:11
【问题描述】:

我正在使用 laravel 8,我想从 created_at 列中获取两个日期之间的 id,这是时间戳格式,我使用以下代码

    $ids=Visit::select('id')->whereBetween('created_at',[$request->input('from_date'),$request->input('to_date')])->get();
return response($ids);

但我得到一个空结果

我厌倦了使用 strtotime() 函数将输入转换为时间,但我得到相同的空结果

    $ids=Visit::select('id')->whereBetween('created_at',[strtotime($request->input('from_date')),strtotime($request->input('to_date'))])->get();
return response($ids);

视图页面的输入类型是日期

请你帮忙看看正确的语法

【问题讨论】:

  • 你在 request->input('to_date') 中得到了什么
  • echo $request->input('from_date')." ".$request->input('to_date') 打印以下 2021-05-20 2021-05-21

标签: php laravel web


【解决方案1】:

您可以使用碳进行格式化

$fromDate=\Carbon\Carbon::createFromFormat('Y-m-d',$request->input('from_date'));

$toDate=\Carbon\Carbon::createFromFormat('Y-m-d',$request->input('to_date'));

  $ids=Visit::select('id')->whereBetween('created_at',[$fromDate,$toDate])->get();
return response($ids);

【讨论】:

    猜你喜欢
    • 2015-03-31
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2021-01-08
    • 2021-05-21
    • 1970-01-01
    相关资源
    最近更新 更多