生成されたSQLで、グループ化する列を選択する必要があり、groupBy
の後にget()を呼び出す必要があります。 そうしないと、groupBy
を呼び出すことになります クエリビルダーオブジェクトではなく、コレクション上。したがって、次のことができるはずです:
Transaction::selectRaw('transactionType.category, sum(amount) as amount')
->with('transactionType')
->groupBy('transactionType.category')
->get();
またはあまり雄弁ではない
DB::table('transaction')
->join(
'transaction_type',
'transaction_type.id',
'=',
'transaction.transaction_type_id'
)->selectRaw('transationType.category, sum(amount)')
->groupBy('transactionTyle.category')
->get();