我有兩個表的事件和分配Rails的左連接上的兩個鍵沒有返回連接字段
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'
我的問題是,我在查詢中需要這些數據,所以我可以將所有賦值數據返回到查詢中並按順序排列。這就是爲什麼我使用連接。我將無法調用'.assignment.division_id'(即使在我添加了上述關聯後,它仍然不適用於我)。 – cbron 2012-07-16 15:59:26