Я пытаюсь настроить запрос в приложении Laravel, эквивалентный этому:
SELECT SUM(balance), name FROM db.statement_versions
INNER JOIN statements ON statement_versions.statement_id = statements.id
INNER JOIN accounts ON statements.account_id = accounts.id
GROUP BY name;
Этот запрос работает, когда я запускаю его в MySQL Workbench, но когда я пытаюсь перевести его в PHP св построителе запросов Laravel получаю ошибку.В конечном итоге я хочу вернуть все accounts
с суммированным балансом statement_versions.balance
.Вот мой код прямо сейчас:
public static function query(LensRequest $request, $query)
{
return $request->withOrdering($request->withFilters(
$query->select('accounts.name')->sum('statement_versions.balance')
->join('statements', 'statement_versions.statement_id', '=', 'statements.id')
->join('accounts', 'statements.account_id', '=', 'accounts.id')
->orderBy('balance', 'desc')
->groupBy('statement_versions.balance', 'accounts.name')
));
}
Я пробовал несколько различных вариантов этого, но я получаю ошибку SQLSTATE[42S22]: Column not found: 1054 Unknown column 'statement_versions.balance' in 'field list'
.Как я могу решить эту проблему и заставить запрос работать правильно?