我想使用如下的where语句:
BaseProduct.where(BaseProduct.products.count => 1)
这不起作用。我得到了未定义的方法'产品'对于xyz类。
在rails控制台中,我可以做到
BaseProduct.first.products
并获得良好的输出。
如何获取相关模型计数为1的记录?
社团:
class BaseProduct < ActiveRecord::Base
has_many :products
end
class Product < ActiveRecord::Base
belongs_to :base_product
end
答案 0 :(得分:0)
试试这样:
BaseProduct.select("base_products.*, COUNT(products.id) AS cp")
.joins("INNER join products ON products .base_product_id= products.id")
.group("products.base_product_id")
.having("cp > 1")
答案 1 :(得分:0)
请试试这个
Product.select('base_product_id, count(base_product_id) as c').includes('base_product').group('products.base_product_id').having('c > 1')