我正在使用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實例存儲。我非常感謝幫助! –