我正在做一個Rails項目,我正在使用自加入的一對多設置。自加入類的Rails協會
我有一個名爲User的類,它有許多客戶。 每個客戶有很多訂單列表,像這樣:
class User < ActiveRecord::Base
has_many :customers, class_name: 'User', foreign_key: 'owner_id'
belongs_to :owner, class_name: 'User'
has_many :order_lists, dependent: :destroy
現在,當我睜開軌控制檯。我試着這樣做:
user.customers.order_lists
我得到這個:
NoMethodError: undefined method `order_lists'
而當我嘗試這樣做:
user.customers.first.order_lists
我收到客戶的訂單列表。 但我怎麼能接受我所有客戶的所有訂單?
有人有想法嗎?
這解決方案在控制檯中工作,但我想顯示我的訂單列表。所以當我想分頁時,這是行不通的。其他解決方案? – Niels
我沒有看到以下解決方案:OrderList.find(user.customers.map(&:order_list_ids).flatten。這是建立在以前的答案 – Leito
我認爲你可以在OrderList上編寫一個範圍以便使用分頁 – annalogarhythm