我知道,如果我在表中命名一列「othertablename_id」,rails會知道使用該列作爲belongs_to或其他關係。如果我想從同一個表中獲得多個ID,顯然這是行不通的,因爲我會有重複的列名。建立一個涉及同一個表中兩行的表的最佳方法是什麼?正如在約會表中恰好涉及兩個用戶一樣。來自同一個表的多個id的Rails關係表
回答
嗯我知道了
belongs_to :user_1, :class_name => "User"
belongs_to :user_2, :class_name => "User"
將分別使用user_1_id和user_2_id列。列應該被命名爲更具描述性的內容,但它很簡單。
像模特:
Appointment
=================
source_user_id
object_user_id
將幫助?
編輯在361頁閱讀rails bible,我這個提取:
許多一對多的關係
...一個產品可以屬於多個類別 ,每類別可能是 包含多個產品。這是多對多關係的一個示例 。就好像 這個關係的每一邊都包含另一邊的項目集合 。
alt text http://img180.imageshack.us/img180/4004/dibujolfa.png
在Rails中,我們通過增加 has_and_belongs_to_many聲明 兩種模型表達這一點。從現在開始,我們將 縮寫本聲明 「的habtm。」許多一對多關聯是 對稱,無論是連接表 聲明每個 其他使用他們的協會「的habtm。」
在數據庫中,使用中間連接表實現多對多關聯。這包含連接兩個 目標表的 外鍵對。 Active Record假定 該聯接表的名稱是按字母順序排列的兩個目標表 名稱的 串聯。在我們的 示例中,我們將表 類別加入到表產品中,因此 Active Record將查找名爲categories_products的聯合表 表。
所以,我認爲,所有你所要做的,就是用has_and_belongs_to_many聲明。
那麼我該如何告訴rails在關係中使用這些列。 (belongs_to:user,可能是這裏的東西嗎?) – 2010-06-04 22:29:49
謝謝,你說的是真實的,但它並不能解決我心中的問題。我需要將被引用的兩行區分爲單獨的屬性。再次,謝謝。 – 2010-06-04 22:59:10
- 1. symfony來自同一個id表的兩個id字段
- 2. 來自同一表的JPA多個FK
- 3. 與同一個表(多對多)Ruby on Rails的多個關聯
- 4. rails 3:使用來自多對多表中的ID來做另一個查詢
- 5. 來自單個表的Access中的多對多關係
- 6. Ruby on Rails的一一對應關係,在同一個表
- 7. 來自2個表的不同行之間的關係Laravel
- 8. django同步來自同一個表的id
- 9. 來自同一個表
- 10. 來自同一個表
- 11. 表上的多個關係
- 12. 從一個到多個表關係的不同值?
- 13. Django:同一個表的多對多關係
- 14. Rails的工廠女孩創建一個關係列表許多
- 15. SQLAlchemy中同一個表上的一對多關係
- 16. 與SQLAlchemy在同一個表中的多對一關係
- 17. 如何映射同一個表中的「一對多」關係?
- 18. zend中同一個表中的一對多關係
- 19. Rails的多個父關係
- 20. Rails關聯 - 與同一類的多個has_one關係
- 21. SQL:來自同一個表的多個計數
- 22. 來自同一個表的多個外鍵
- 23. SQL查詢顯示來自同一個表的多個記錄?
- 24. MySql的來自同一個表
- 25. 來自多個表的Listview?
- 26. 一對多關係與2個相同表的forevals鍵Ruby on rails
- 27. 來自多個表的多個ORDER BY
- 28. 插入到一對多關係中,來自同一個表的兩個外鍵。實體框架3.5
- 29. Yii2在GridView中顯示來自一個關係的多個值
- 30. 如果兩個表中的關係是多對一即從第一個表(多個)到第二個表(一個)
如果必須設置具有「n」個連接到同一個表的查詢,該怎麼辦?我想要做同樣的動作,但是加入「n」個連接數,所以我想要更優雅的東西。 – 2012-08-06 01:14:38
不錯,夥計 - 這是2016年,這仍然幫助我。 – skwidbreth 2016-06-09 19:56:01