Need eloquent/fluent query to get sum with groupBy function.
So far I have tried:
$this->data['no_of_pages'] = Document::sum('no_of_pages') ->groupBy('users_editor_id');
Which ofcourse gives me call to member function groupBy() on non-object
because of the fact that sum() will already execute the query and have result ready by the time grouBy() is applied. So can anyone guide me?
Document::groupBy('users_editor_id') ->selectRaw('sum(no_of_pages) as sum, users_editor_id') ->pluck('sum','users_editor_id'); // originally lists(), which was deprecated in favour of pluck in 5.2 // and dropped completely in 5.3 // ->lists('sum','users_editor_id'); // returns array like this: array( users_editor_id => sum, ... )
Or this way (which I wouldn't use, since it won't be actual ORM result):
Document::groupBy('users_editor_id') ->selectRaw('*, sum(no_of_pages) as sum') ->get(); // returns collection of Document pseudo models with additional sum field
Document::Where('some_condition',true) ->select([DB::raw("SUM(debit) as total_debit"), DB::raw("SUM(credit) as total_credit")]) ->groupBy('id') ->get()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With