我有3种型号:
Product
has_many :variants, dependent: :destroy
has_many :stocks, through: :variants
Stock
belongs_to :variant
Variant
has_many :stocks, dependent: :destroy
belongs_to :product
在我的股票指数中,我需要按产品的:title
这是我的尝试
@stocks = Stock.joins(:variant)
.joins("INNER JOIN 'products' ON 'variants'.'id' =\'variants'.'product_id'")
.where('lower(variants.product.title) LIKE ?', "%#{params[:query][:keyword].downcase }%")
我有这个错误,但是我没弄错是什么
PG :: SyntaxError:错误:“产品”附近或附近的语法错误 第1行:... variants“。” id“ =”股票“。” variant_id“ INNER JOIN'产品'...
答案 0 :(得分:1)
您可以使用AR语法加入产品
@stocks = Stock.joins(variant: :product)
.where('lower(products.title) LIKE ?', "%#{params[:query][:keyword].downcase }%")