我有两个模型:公司和交易(有很多关系)。事务模型具有 balance
属性。我有一个加入模型的查询:
scope :joined_transactions, (lambda do
select('transactions.balance as current_balance')
.joins('LEFT OUTER JOIN transactions ON transactions.company_id = companies.id')
end)
但是,我只想将最后一笔交易包含在此查询中。结果 Company.joined_transactions.first.current_balance == Company.first.transactions.last.balance
应该为真。
最佳答案
子查询 .joins('left join transactions t on t.company_id = companies.id AND t.id = (SELECT MAX(id) FROM transactions WHERE transactions.company_id = t.company_id)')
https://stackoverflow.com/questions/35441135/