Mysql
 sql >> Database >  >> RDS >> Mysql

Generatore di query eloquente di Laravel - Somma con gruppo su relazione

Nell'SQL generato, devi selezionare la colonna in base alla quale raggruppare e devi chiamare get() dopo groupBy altrimenti chiameresti il ​​groupBy nella raccolta, non nell'oggetto del generatore di query. Quindi dovresti essere in grado di fare:

Transaction::selectRaw('transactionType.category, sum(amount) as amount')
->with('transactionType')
->groupBy('transactionType.category')
->get();

O meno eloquente

DB::table('transaction')
->join(
    'transaction_type',
    'transaction_type.id',
    '=',
    'transaction.transaction_type_id'
)->selectRaw('transationType.category, sum(amount)')
->groupBy('transactionTyle.category')
->get();