微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel pluck, groupBy 自定义日期格式

如何解决Laravel pluck, groupBy 自定义日期格式

使用 pluck 时无法格式化 created_at。

VisitoRSStatistic::where('landing_page_id',$this->landing_page->id)
         ->select('created_at',DB::raw('count(*) as visitors'))
         ->whereMonth('created_at','>=',$this->start_month)
         ->whereMonth('created_at','<=',$this->end_month)
         ->orderBy('created_at')
         ->groupBy('created_at')
         ->pluck('visitors','created_at')
         ->all();

我通常使用下面的代码按日期分组,但它不适用于 pluck 并给出 strpos() 错误

         //->groupBy(function($val) {
         //    return Carbon::parse($val->created_at)->format('d/m');
         //})

有没有办法在使用 pluck 时格式化日期 created_at?

解决方法

试一试:

VisitorsStatistic::where('landing_page_id',$this->landing_page->id)
         ->select(\DB::raw("DATE_FORMAT(created_at,'%Y-%m-%d') AS created_at"),\DB::raw('count(*) as visitors'))
         ->whereMonth('created_at','>=',$this->start_month)
         ->whereMonth('created_at','<=',$this->end_month)
         ->orderBy('created_at')
         ->groupBy('created_at')
         ->pluck('visitors','created_at')
         ->all();

日期的格式在 DATE_FORMAT() 函数中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。