【发布时间】:2016-11-17 20:52:31
【问题描述】:
在之前的一篇文章中,我询问了如何获取 Laravel 中值的 sum() 的总数。然而,当数据返回时,它只输出总和,而没有任何其他通常也会输出的信息(例如:关系、时间戳等)。通常,如果我只是将所有内容的总和视为一个数字,这将不是问题。
下面是我正在重新创建的视觉对象的硬编码示例,下面是创建它的数据。
data: [{
period: '2016-04',
views: 2666,
}, {
period: '2016-05',
views: 2778,
}, {
period: '2016-06',
views: 4912,
}, {
period: '2016-07',
views: 3767,
}, {
period: '2016-08',
views: 6810,
}, {
period: '2016-09',
views: 5670,
}, {
period: '2016-10',
views: 4820,
}, {
period: '2016-11',
views: 15073,
}],
因此,如果不编写循环,那么在任何给定时间段内获取所有帖子的每日访问者总和的最佳方法是什么。基本上,一个用户拥有许多帖子,每个帖子都有很多访问者,所以下面是我如何获得所有帖子的总和,但正如您在上面看到的,我需要根据 created_at 时间戳中的每一天的总和访客表。
return Post::where('user_id', Auth::user()->id)->withCount(['visitors' => function($query)
{
$query->where('created_at', '<=', Carbon\Carbon::now())->where('created_at', '>=', Carbon\Carbon::yesterday());
}])->get()->sum('visitors_count');
【问题讨论】:
标签: php mysql laravel eloquent