Как использовать sum () с оператором join и group by - PullRequest
1 голос
/ 14 июня 2019

Я хочу суммировать сумму по валюте

Я делаю в SQL, как это

select sum(total),currencies.currency_symbol from invoices
join(currencies)
where(invoices.currency_id = currencies.id)
group by(currency_id)

Я пытался в Laravel, как это

$sum = Invoice::sum('total')
              ->select('currency_symbol')
              ->join('currencies','invoices.currency_id','=','currencies.id')
              ->groupBy('currency_id');
return response()->json($sum);

но выдает ошибку

Symfony \ Component \ Debug \ Exception \ FatalThrowableError: вызов функции-члена select() в строке

пожалуйста, дайте мне решение

1 Ответ

0 голосов
/ 23 июня 2019

Я думаю, что вы должны использовать selectRaw, потому что комбинация суммы и выбора, я не думаю, сработает, вы можете использовать один из двух. Вы можете попробовать что-то вроде этого:

$sum = Invoice::selectRaw('currency_symbol, sum(total) as sum')
              ->join('currencies','invoices.currency_id','=','currencies.id')
              ->groupBy('currency_id');
return response()->json($sum);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...