簡體   English   中英

提取對象集合的嵌套對象(位置積)

[英]Extract nested object of an object collection (products of location)

我有兩個模型: ProductLocation

class Location
  has_many :products
end

class Product
  belongs_to :location
end

當我使用地理編碼器gem時,可以使用近范圍鏡,它可以選擇特定地址周圍的每個位置。 就像是 :

@locations_near_paris = Location.near("Paris")

現在,我想使用@locations_near_paris集合收集巴黎附近的產品。 我怎樣才能做到這一點 ?

我做了以下事情,但是我覺得這不是一個好習慣……

close_locations.each do |l|
  unless l.products.nil?
    l.products.each do |p|
      close_products << p
    end
  end
end

我不知道geocoder方法是否返回AR,但我們假設它不會。

location_ids = Location.near("Paris").collect do |location|
  location.id
end

paris_products = Product.where(location_id: location_ids)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM