Laravel Eloquent:按日期对结果进行分组
在 Laravel 的 Eloquent ORM 中,你可能会遇到需要根据日期对查询结果进行分组的场景。这对于从数据库获取每日或每月指标非常有用。
使用带有时间戳的created_at列时,由于时间差异,按日期分组可能会很困难。这是使用 Eloquent 的 MySQL 查询的修改版本:
<code class="php">use Carbon\Carbon; $visitorTraffic = PageView::where('created_at', '>=', Carbon::now()->subMonth()) ->groupBy(DB::raw('DATE(created_at)')) ->orderBy('date', 'DESC') ->get([ DB::raw('Date(created_at) as date'), DB::raw('COUNT(*) as "views"') ]);</code>
此查询使用 groupBy 和 orderBy 方法按created_at列的日期部分对结果进行分组,确保对同一天内的记录进行分组一起。原始 SQL 函数 DATE() 和 COUNT() 分别用于提取日期和观看次数。
通过利用此查询,您可以有效地检索每日观看次数并按日期对它们进行分组,提供为您提供应用所需的见解。
以上是以下是一些标题选项,可使用不同的问题格式: 直接提问: * 如何按日期对 Laravel Eloquent 结果进行分组? * 如何按每日 Met 的日期对 Laravel Eloquent 结果进行分组的详细内容。更多信息请关注PHP中文网其他相关文章!