我正在使用Laravel为管理员仪表板构建一些分析统计图。我玩得很开心。尽管我在理解如何利用SQL查询和GroupBy函数来实现某些东西方面存在一些困难。Count&GroupBy函数Laravel
最终目标:retreive的数的用户谁创建和GROUPBY他们注册的一周。
到目前为止,我使用的是这样的:
DB::table("users")
->select(DB::raw("COUNT(*) as count"))
->orderBy("created_at")
->groupBy(function ($query)
{
return \Carbon\Carbon::parse($query->created_at)->format("W");
})
->get();
我收到的补锅匠的错误(这是我目前做的大部分我的测试中它是这样的:
PHP warning: strtolower() expects parameter 1 to be string, object given in
/Users/Ian/sites/bangerz-army/vendor/laravel/framework/src/Illuminate/Database/Grammar.php on line 58
我已经得到了类似的查询在PHP,但由于性能原因工作,我宁愿保持尽可能多的数学在SQL越好。
/Laravel 5.5
或者使用'orderByRaw'和'groupByRaw' :) – fubar
这个工作完美,因为我按照Laravel的默认值将我的created_at作为Carbon实例存储。我非常感谢帮助! –