我有三种不同的型号用户,订单,产品: -
class User < ActiveRecord::Base
has_many :orders
has_many :products
end
class Product < ActiveRecord::Base
has_many :orders
end
class Order < ActiveRecord::Base
belongs_to :user
belongs_to :product
end
如何使用单行有效记录查询查找用户订购的所有产品?
答案 0 :(得分:3)
此处的另一个选项是使用has_many :through关系:
添加到User
模型
has_many :products, through: :orders
现在user.products
可以解决问题
答案 1 :(得分:0)
这解释为in the ActiveRecord documentation:
Product.joins(:orders).where(orders: { user_id: user.id })
答案 2 :(得分:0)
我终于通过这个
得到了它@Controller