私は、人に属する多くの EventRegistrations を持つ Event というモデルを持っています。また、EventRegistration には多くの EventAtendees があり、これも個人に属しています。
イベントに関連するすべての人をRailsで注文したい.
何か助けはありますか?
私は、人に属する多くの EventRegistrations を持つ Event というモデルを持っています。また、EventRegistration には多くの EventAtendees があり、これも個人に属しています。
イベントに関連するすべての人をRailsで注文したい.
何か助けはありますか?
私が理解しているように、次のモデルと関連付けがあります。
Event
has_many :event_registrations
EventAttendee
belongs_to :event_registration
belongs_to :person
Person
has_many :event_registrations
has_many :event_attendees
EventRegistration
belongs_to :person
belongs_to :event
さて、あなたの実際の質問について。あなたは、「イベントに関連するすべての人を注文したい」と言います
「順序付け」(別名ソート) がこれにどのように入るかは実際にはわかりません。
イベントに関連付けられたすべてのユーザーを取得するには、いくつかの :through 関連付けを追加することをお勧めします。
Event
has_many :event_attendees, :through => :event_registrations
has_many :people, :through => :event_attendees
次に、イベント オブジェクトがあれば、.people
それを呼び出すだけで機能します。
すべての ActiveRecord 関連付けが正しく設定されていると仮定して、人の姓で並べ替える方法を次に示します。
event_registrations = EventRegistrations.find(:all)
ordered_event_registrations = event_registrations.sort{|registration_a,registration_b|registration_a.people.lastname<=>registration_b.people.lastname}