假设我有两个简单的模型
project
t.string :title
vote
t.references :project
t.integer :value
当我遍历所有项目时,我还想包括所有投票的总和,因为做
projects = Project.all
foreach project in projects
sum = project.votes.sum(:value)
...
不是很有效。
有没有办法在不手动编写 SQL 的情况下做到这一点?就像是
SELECT p.*, SUM(v.value)
FROM projects p
LEFT JOIN votes v
ON v.project_id = p.id
GROUP BY p.id