【发布时间】:2015-03-13 04:37:28
【问题描述】:
我有两个模型,Owner 和 Dog。狗属于主人,主人有很多狗。
我可以查询所有者并使用most_food_needed_for_pet(即Dog 的food_needed 列,最大lifespan)对其进行注释吗?我知道我可以通过多个查询来完成此操作,但我应该只使用Arel 进行一个查询。
我最初的尝试是
Owner.
joins(:dogs).
select(Dog.arel_table[:food_needed].as('most_food_needed_for_pet')).
select(Dog.arel_table[:lifespan].maximum).
group('dogs.owner_id')
但这错误地用最大lifespan 和数据库中第一个Dog 的food_needed 注释每个所有者,而不是最长寿命Dog。
【问题讨论】:
标签: mysql sql ruby-on-rails arel