我有一个问题,所以我想根据日期建立一个计数访客的图表组合; 我在我的数据库中
id created_at
1 2014-11-09
2 2014-11-10
3 2014-11-08
4 2014-10-01
5 2014-10-05
所以我想得到
3 november
2 octomber
我想在Laravel中构建,我的代码是:
$aVisitors = $oVisitor::select([
DB::raw('DATE(created_at) AS date'),
DB::raw('COUNT(id) AS count'),
])
->groupBy('date')
->orderBy('date', 'ASC')
->get();
请帮帮我。 Thx提前
答案 0 :(得分:0)
使用下一个
GROUP BY DATE_FORMAT(created_at, '%Y-%d')
或者
GROUP BY YEAR(created_at), MONTH(created_at)
你的laravel代码中的应该是这样的
->groupBy('YEAR(created_at), MONTH(created_at)')
你也可以直接从mysql获取月份名称
DB::raw("DATE_FORMAT(created_at, '%M') as monthName")
答案 1 :(得分:0)
你可以在这里使用:
$aVisitors = $oVisitor::select([
DB::raw("DATE_FORMAT(created_at, '%Y-%m') AS `date`"),
DB::raw('COUNT(id) AS count'),
])
->groupBy('date')
->orderBy('date', 'ASC')
->get();
这会给你这样的东西:
2014-07 1
2014-08 1
2014-09 1
2014-10 5