首页 > 数据库 > mysql教程 > 如何按天对 Laravel Eloquent 结果进行分组?

如何按天对 Laravel Eloquent 结果进行分组?

Patricia Arquette
发布: 2024-11-03 15:09:03
原创
652 人浏览过

How Can I Group Laravel Eloquent Results by Days?

按天对 Laravel Eloquent 结果进行分组

当使用包含跟踪用户活动的记录的表时,按天分组对于获取对流量模式的洞察。然而,每条记录存在不同时间会妨碍准确分组。

解决方案 1:DB::Raw Query

要实现基于天的分组,请利用MySQL 中的 DATE() 函数。该函数从时间戳中去除时间成分,得到纯日期。

DB::table('page_views')
    ->select(DB::raw('DATE(created_at) as date'), DB::raw('count(*) as views'))
    ->groupBy('date')
    ->get();
登录后复制

解决方案 2:使用 Carbon 进行 Eloquent 查询

要保留在 Laravel Eloquent 框架内,利用 Carbon 进行日期操作。第一个 where 子句过滤上个月内创建的记录。按日期分组并按降序排序可确保按时间顺序呈现。

<code class="php">$visitorTraffic = PageView::where('created_at', '>=', \Carbon\Carbon::now()->subMonth())
                            ->groupBy('date')
                            ->orderBy('date', 'DESC')
                            ->get(array(
                                DB::raw('Date(created_at) as date'),
                                DB::raw('COUNT(*) as "views"')
                            ));</code>
登录后复制

以上是如何按天对 Laravel Eloquent 结果进行分组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板