【问题标题】:Conditional select on associated record in rails对rails中的关联记录进行条件选择
【发布时间】:2020-04-20 06:12:28
【问题描述】:

我需要计算与产品相关的零售单位的数量,并从位于特定位置的零售单位获取图像,计数部分工作正常,但我不知道如何根据条件进行选择。我还需要产品中的字段。

这就是我所拥有的

产品 -> has_many :retail_units

RetailUnit -> belongs_to :product

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)

但我不太明白语法。 谢谢

【问题讨论】:

    标签: ruby-on-rails postgresql ruby-on-rails-5


    【解决方案1】:

    这样的?

    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 总是有用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-03
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多