Trong SQL đã tạo, bạn cần chọn cột mà bạn nhóm theo và bạn cần gọi hàm get () sau groupBy hoặc nếu không bạn sẽ gọi groupBy trên bộ sưu tập, không phải đối tượng trình tạo truy vấn. Vì vậy, bạn sẽ có thể làm:
Transaction::selectRaw('transactionType.category, sum(amount) as amount')
->with('transactionType')
->groupBy('transactionType.category')
->get();
Hoặc Ít Hùng biện hơn
DB::table('transaction')
->join(
'transaction_type',
'transaction_type.id',
'=',
'transaction.transaction_type_id'
)->selectRaw('transationType.category, sum(amount)')
->groupBy('transactionTyle.category')
->get();