0

私は、人に属する多くの EventRegistrations を持つ Event というモデルを持っています。また、EventRegistration には多くの EventAtendees があり、これも個人に属しています。

イベントに関連するすべての人をRailsで注文したい.

何か助けはありますか?

4

2 に答える 2

2

私が理解しているように、次のモデルと関連付けがあります。

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それを呼び出すだけで機能します。

于 2012-11-02T18:39:30.367 に答える
0

すべての ActiveRecord 関連付けが正しく設定されていると仮定して、人の姓で並べ替える方法を次に示します。

event_registrations = EventRegistrations.find(:all)

ordered_event_registrations = event_registrations.sort{|registration_a,registration_b|registration_a.people.lastname<=>registration_b.people.lastname}
于 2012-11-02T18:41:29.163 に答える