[英]Laravel 4.1 display entries of last 30 days through Model Relationship
[英]Laravel display last 30 days data
我有一个功能,可以从数据库中获取Facebook用户注册数。
$today = $now->today()->toDateString();
$last_month = $now->subDays(30)->toDateString();
$facebook_users = \App\Models\SocialLogins::join(
'users',
'users.id',
'=',
'social_logins.created_by'
)
->where(['users.active' => 1,'source' => 1, 'user_type' => 3])
->whereBetween('users.created_utc',[$last_month,$today])
->get(['users.id','users.created_utc']);
所以,我得到今天和2018年2月3日之间的ID,这是正确的。 现在,我必须按日期显示此数据,例如在03/03/2018 x仅记录每天计数的人数。
我对此很困惑,比如怎么做,有人知道怎么做吗? 提前致谢
使用groupBy(date)
:
$facebook_users = \App\Models\SocialLogins::join(
'users',
'users.id',
'=',
'social_logins.created_by'
)
->where(['users.active' => 1,'source' => 1, 'user_type' => 3])
->whereBetween('users.created_utc',[$last_month,$today])
->groupBy(DB::raw('date(created_utc)'))
->selectRaw('date(created_utc) as date, count(1) as cnt')
->orderBy('date', 'asc')
->get();
foreach ($facebook_users as $facebook_user) {
$date = $facebook_user->date;
$cnt = $facebook_user->cnt;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.