Dla tych z was, którzy dobrze znają szyny i sql, szukam dobrych informacji, które moglibyście wskazać. Moje zapytanie jest bardzo podobny do przykładu z "Łączenie zagnieżdżonych stowarzyszeń w tej sekcji - http://guides.rubyonrails.org/active_record_querying.html#using-array-hash-of-named-associationsŁączenie asocjacji zagnieżdżonych, wielopoziomowe
Moje modele (w skrócie) są następujące
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
chcę zbierać zamówienia od zdarzenia dla użytkownika (sprzedawca), a oto moje najlepsze rozwiązanie.
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
Jak powinno wyglądać to połączenie?
Czy powinienem podzielić to na zakresy w różnych modelach w łańcuchu?
Wystarczy pokazać, że mam podstawową wiedzę na temat tutaj, byłem w stanie dostać mój pierwszy pracę zagnieżdżona tabela zamiar przyłączyć (Jestem bardzo podekscytowany tym urzeczywistnienia)
BuyerFeedback
belongs_to :order
def self.from_past_events
self.joins(:order => {:post => :event}).where(:order => {:post => {:event => {:date.lt => Date.today}}})
end