在之前的文章中,我询问了获得的总数是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');
这将工作在正常的设置。但是,由于一个用户通过其cookie值进行标识,因此它们存在于Visitors表中。邮政唯一的字符串是外国人,每个访问涉及一个特定的内容。因此,一个用户可以访问10个页面,每个页面都是访问者表中的单独条目(代表访问者的历史记录和代表创建者的统计信息)。 – montelc0