2 回答

TA貢獻1909條經驗 獲得超7個贊
您可以嘗試按日期匯總,使用面具 :DATE_FORMAT%Y-%m
$results = Post::select(\DB::raw("DATE_FORMAT(created_at, '%Y-%m') AS ym, COUNT(*) AS cnt"))
->groupBy(\DB::raw("DATE_FORMAT(created_at, '%Y-%m')"))
->get();
如果您的實際數據庫是Postgres,那么使用類似的方法應該有效:TO_CHAR
$results = Post::select(\DB::raw("TO_CHAR(created_at, 'YYYY-MM') AS ym, COUNT(*) AS cnt"))
->groupBy(\DB::raw("TO_CHAR(created_at, 'YYYY-MM')"))
->get();

TA貢獻1866條經驗 獲得超5個贊
給你
return Post::select(DB::raw('count(1) AS count'), DB::raw('DATE_FORMAT(created_at, "01-%m-%Y") AS month'))->groupBy(function($post) { // Get all posts as collection and apply groupBy method
$post->created_at->format('01-m-Y'); // ex: 01-02-2019
})->get()
我希望這對你有用...
- 2 回答
- 0 關注
- 77 瀏覽
添加回答
舉報