按月计算访客数量

时间:2014-11-10 10:45:35

标签: php laravel laravel-4 query-builder php-5.4

我有一个问题,所以我想根据日期建立一个计数访客的图表组合; 我在我的数据库中

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提前

2 个答案:

答案 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