rails 中关联记录的条件 select
Conditional select on associated record in rails
我需要计算与产品相关的零售单位的数量,还需要从处于特定位置的零售单位获取图像,计数部分工作正常,但我不知道如何 select 有条件的。我还需要产品中的字段。
这就是我的
产品 -> has_many :retail_units
RetailUnit -> belongs_to:产品
Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total")
.group(:id)
我想我需要做一些类似
的事情
Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total, retail_units.image WHERE retail_units.position = 1")
.group(:id)
但我不太明白语法。
谢谢
是这样的吗?
Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total")
.where(retail_units: { position: 1 } )
.includes(:retail_units)
.group(:id)
遍历 the guides 总是有用的。
我需要计算与产品相关的零售单位的数量,还需要从处于特定位置的零售单位获取图像,计数部分工作正常,但我不知道如何 select 有条件的。我还需要产品中的字段。
这就是我的
产品 -> has_many :retail_units
RetailUnit -> belongs_to:产品
Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total")
.group(:id)
我想我需要做一些类似
的事情Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total, retail_units.image WHERE retail_units.position = 1")
.group(:id)
但我不太明白语法。 谢谢
是这样的吗?
Product.joins(:retail_units)
.select(:id, :name, "COUNT(retail_units.id) AS retail_units_total")
.where(retail_units: { position: 1 } )
.includes(:retail_units)
.group(:id)
遍历 the guides 总是有用的。