小编the*_*ter的帖子

加入嵌套关联,多层次

对于那些了解rails和sql的人,我正在寻找一些你可以指出的好信息.我的查询非常类似于本节中的"加入嵌套关联"示例 - http://guides.rubyonrails.org/active_record_querying.html#using-array-hash-of-named-associations

我的模型(缩写)如下,

User has_many :products    # User is 'great-grandparent'
Product has_many :posts    # Product is grandparent #1
Event has_many :posts      # Event is grandparent #2
Post belongs_to :event
Post belongs_to :product
Post has_many :orders      # Post is parent
Order belongs_to :post     # Order is great-grandchild, grandchild, & child
Run Code Online (Sandbox Code Playgroud)

我想收集用户(卖家)的活动订单,这是我最好的解决方案.

class Order < ActiveRecord::Base
  def self.collect_for_seller_and_event(user_id, event_id)
    self.joins(:post => [{:product => :user }, :event]).where(:post => [{:product => {:user_id => user_id}}, {:event_id => event_id}])
  end
Run Code Online (Sandbox Code Playgroud)

这次加入应该是什么样的?

我是否应该将其分解为菊花链上各种型号的范围?

为了表明我在这里有一个基本的理解,我已经能够得到我的第一个工作嵌套连接表(我对这个成就感到非常兴奋)

BuyerFeedback 
belongs_to …
Run Code Online (Sandbox Code Playgroud)

join ruby-on-rails grandchild

5
推荐指数
1
解决办法
2344
查看次数

标签 统计

grandchild ×1

join ×1

ruby-on-rails ×1