我正在尝试在一个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工作台上运行这个查询时,它可以工作,但是当我试图用laravel查询生成器将它转换成php时,我得到了一个错误。我最终想要的是回报一切 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'
. 如何解决这个问题并使查询正常工作?
1条答案
按热度按时间juud5qan1#
没有你的table会有点困难,但我希望这会给你一条通往你想要达到的目标的道路,也许幸运的是,它会从第一枪开始工作:)