I den genererede SQL skal du vælge den kolonne, du grupperer efter, og du skal kalde get() efter groupBy ellers ville du ringe til groupBy på samlingen, ikke forespørgselsbyggerobjektet. Så du burde kunne gøre:
Transaction::selectRaw('transactionType.category, sum(amount) as amount')
->with('transactionType')
->groupBy('transactionType.category')
->get();
Eller mindre veltalende
DB::table('transaction')
->join(
'transaction_type',
'transaction_type.id',
'=',
'transaction.transaction_type_id'
)->selectRaw('transationType.category, sum(amount)')
->groupBy('transactionTyle.category')
->get();