2014-09-10 3 views
0

SELECT payment_type, sum(total_received) FROM payments GROUP BY payment_typeПолучить сумму выплат, сгруппированных по типу оплаты

В MySQL дает мне хороший список всех моих типов платежей вместе с моими итогами для этого типа.

-

Payment::all()->groupBy('payment_type')->sum('total_received')

в красноречивых не дает мне абсолютно ничего.

Что такое Красноречивый эквивалент вышеупомянутому запросу MySQL?

ответ

0

Лучше всего было бы использовать lists, после возвращения модели только с 2 свойства, которые вы хотите, избыточна:

Payment::selectRaw('payment_type as type, sum(total_received) as sum') 
    ->groupBy('type') 
    ->lists('sum', 'type'); 

// returns array, something like this: 
array(
    'type1' => '25', 
    'type2' => '50', 
    ... 
); 
0

Вот блок кода, который будет работать в красноречив:

$var = DB::table('payments') 
       ->select('payment_type', DB::raw('sum(total_received)')) 
       ->groupBy('payment_type') 
       ->get(); 
Смежные вопросы