0

我有兩個模型,產品和商店通過庫存模型關聯在一起。根據商店位置搜索商店產品

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 

使用Searchkick(彈性)或ActiveRecord的我要搜索的產品,並獲得匹配的產品的查詢,包括它有他們的商店,這些商店的距離排序(中訂單部分不是很重要)。

有誰知道我該如何做到這一點?

回答

0

最簡單的方法使用ActiveRecord是獲取所有產品匹配的搜索和明年的查詢檢索具有這些同類產品商店:

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