2 つのテーブル イベントと割り当てがあります
events assignments
===== ============
sport_id sport_id
home_school_id school_id
name division_id
そして、私はイベントを選択して、次のように割り当てに参加しようとしています:
joins = "LEFT JOIN assignments sa on events.sport_id = sa.sport_id
AND events.home_school_id = sa.school_id"
events = Event.find(:all, :joins => joins)
問題は、これが部門 _id を返さないことです。なぜだめですか ?協会がないからですか?
できるはずじゃないのevents.first.division_id
?私はmysqlでこれを試しましたが、うまくいきました。
編集
私のイベント モデルの関連付け
has_many :assignments,
:primary_key => :sport_id,
:foreign_key => :sport_id,
:finder_sql =>
'SELECT sa.* ' +
'FROM events e, assignments sa ' +
'WHERE e.sport_id = sa.sport_id AND e.home_school_id = sa.school_id ' +
'ORDER BY e.event_date'