Laravel Group By Date

99封情书 提交于 2020-12-26 04:27:07

问题


I am trying to make an elqouent query for a following sql,

select sum(w.total_item_count) as Day_count, w.created_at as created_at from `sales_flat_orders` as `w` group by DATE(`w`.`created_at`) order by `w`.`created_at` asc

and I have tried this

$orderbydate = DB::table('sales_flat_orders as w')
                ->select(array(DB::Raw('sum(w.total_item_count) as Day_count'),DB::Raw('DATE(w.created_at) as created_at')))
                ->groupBy('w.created_at')
                ->orderBy('w.created_at')
                ->get();

I am getting correct output in sql query but not in eloquent query, Please help, Thanks.


回答1:


So guys, i have got the answer for this, Thank you for reading my question.

$orderbydate = DB::table('sales_flat_orders as w')
                ->select(array(DB::Raw('sum(w.total_item_count) as Day_count'),DB::Raw('DATE(w.created_at) day')))
                ->groupBy('day')
                ->orderBy('w.created_at')
                ->get();

The Raw query in my query was wrong for the created_at field. Now its good. Hope you will also get some input from this.




回答2:


$orderbydate = DB::table('sales_flat_orders as w')
                ->select(array(DB::Raw('sum(w.total_item_count) as 
                Day_count'),DB::Raw('DATE(w.created_at) as created_at')))
                ->orderBy('w.created_at')
                ->get();


$orderbydate->groupBy('w.created_at');


来源:https://stackoverflow.com/questions/26601782/laravel-group-by-date

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!