【问题标题】:Get data by date in laravel在 laravel 中按日期获取数据
【发布时间】:2021-11-07 10:03:27
【问题描述】:

在数据库中我有数据:表:product

id   name     order      created_ad
1   Iphone     3       2019-01-12 06:17:26
2   Samsung    2       2019-01-12 04:05:30
3   Xiaomi     1       2019-01-12 09:07:02
4   Master     4       2020-06-05 09:17:12
5   Macbook    3       2020-08-11 14:04:20

我的控制器ProductController.php

public function index()
{
  $product = Product::select('id', 'name', 'created_at')->where('created_at', '2019-01-12')->get()->toArray();
  dd($product);
}

返回结果是一个空数组! 现在我想获取日期2019-01-12 的所有数据,我该怎么做?谢谢。

【问题讨论】:

    标签: laravel laravel-8


    【解决方案1】:

    使用whereDate()。 Create at 是日期时间格式,但您只想按日期获取数据,因此您需要更新代码。

    public function index()
    {
      $product = Product::select('id', 'name', 'created_at')->whereDate('created_at', '2019-01-12')->get()->toArray();
      dd($product);
    }
    

    【讨论】:

    • 很好的答案(并教会了我 whereDate,谢谢)。本质上,OP 的原始查询只会匹配 created_at 值为 2019-01-12 的记录,但由于它是 TIMESTAMP 字段,因此它不会匹配任何内容,因为它缺少时间元素。
    • @GilesBennett 没问题。我是来帮你的。
    • @deskeay 没问题。
    猜你喜欢
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多