【发布时间】:2017-04-26 08:57:07
【问题描述】:
Key.select('products.name as product, product_groups.name as product_group, AVG(keys.cost) as cost')
.group('products.id, product_groups.id')
.left_joins(:product,:product_group)
结果:
=> #<ActiveRecord::Relation [#<Key id: nil, cost: 0.6e1>, #<Key id: nil, cost: 0.4e1>]>
预期返回 3 个字段,但返回值:2 个字段。
I found the solution. The detail areas in the console did not appear as HASH.
【问题讨论】:
-
每张表中有哪些数据?正在生成什么 SQL? (您可以通过查看日志或在查询末尾添加
.to_sql轻松看到这一点。) -
选择 products.name 作为 product,product_groups.name 作为 product_group,AVG(keys.cost) 作为 cost FROM keys LEFT OUTER JOIN products ON products.id = keys.product_id LEFT OUTER JOIN product_groups ON product_groups。 id = keys.product_group_id GROUP BY products.id, product_groups.id
-
...每个表中有哪些数据? Edit your post 包括所有信息。回答提供Minimal, Complete, and Verifiable example 的问题要容易得多。
-
ProductGroups: id, name Products: id, products_group_id, name Key: id, key, products_group_id, product_id, cost
-
数据。您的表中有哪些数据?如果不知道
product_groups、products和keys表中的 值 是什么,我无法重现您的问题。再说一遍,所有信息都应该放在in your question,而不是埋在cmets中。
标签: ruby-on-rails ruby activerecord