2
无法将SQL查询转换为ActiveRecord。这里是我的域模型的简化版本:选择活动记录中分组行的总和
用户#的has_many:篮
篮#日期:日期,USER_ID:整数 - 有很多:line_items,belongs_to的:用户
的LineItem#数量:整数 - belongs_to的:篮
我可以做的SQL以下查询:
SELECT baskets.date, SUM(line_items.quantity) from baskets
INNER JOIN line_items ON line_items.basket_id = basket.id
WHERE baskets.user_id = 2
GROUP BY baskets.id
ORDER BY baskets.date DESC
当运行在pgAdmin的这个查询,我得到的两列我想要:购物篮日期以及与该特定购物篮相关的所有line_item数量的总和。
然而,当我尝试撰写相同数据一个ActiveRecord查询:
User.find(2).baskets
.select('baskets.date,'SUM(line_items.quantity)')
.joins(:line_items)
.group('baskets.id')
.order('baskets.date desc')
它返回篮下日期,而不是分组LINE_ITEM量的总和。理想情况下,我希望得到以下格式的结果,例如{date => quantity,date => quantity ...},但不知道如何到达那里。
真棒。总是小事。并且很高兴知道拔羽!谢谢。 – user7280963