0

ストックモデルを介して関連付けられた2つのモデル、商品とストアがあります。これらの店舗の距離によって命じ、私は製品を検索し、それらを持って店を含むクエリに一致する製品を取得したいSearchkick(弾性)またはActiveRecordのを使用して店舗の店舗の商品を検索する

class Product < ApplicationRecord 
    searchkick 
    has_many :stocks 
    has_many :stores, through: :stocks 
end 

class Store < ApplicationRecord 
    searchkick locations: [:location] 
    belongs_to :user 
    has_many :stocks 
    has_many :products, through: :stocks 
end 

(注文部分はそれほど重要ではない)。

どのように私はこれを達成することができます知っていますか?

答えて

0

のActiveRecordを使用して最も簡単な方法は、すべての製品の一致検索をフェッチすることで、次のクエリでは、このようなこれらの製品を持っている店舗検索:

products = Product.where(your_search_params) 
stores = Stores.joins(:stocks).where('stocks.product_id IN (?)', products.ids)