簡而言之,當我創建一個Transaction
記錄時,它有兩個外鍵。對於參與Transaction
兩個用戶,即:Rails數據建模:當2個對象「共享」相同的has_many列表時如何建立關係?
現在,我想知道您的熱心幫助,是怎樣建立的關係(一個或多個):User
和Transaction
型號,以便我可以輕鬆檢索所有Transaction
s的兩個User
s中的任何一個。
喜歡的東西:
user_one = User.find(1)
user_two = User.find(2)
user_one.transactions # returns all Transactions where user_one.id ==
# user_one_id Or user_one.id == user_two_id
user_two.transactions # returns all Transactions where user_two.id ==
# user_one_id Or user_two.id == user_two_id
什麼是實現這一目標的最佳方式是什麼?在這種情況下,最好在事務模型中建立外鍵?或者這是一個問題,只能通過ActiveRecordQuery
解決?
在此先感謝。
,可以解決這個問題,我在火車上
很酷,謝謝@湯姆科普蘭。但不應該是: Transaction.where(user_one_id:1).or(Transaction.where(user_two_id:1))? – jlstr
哦,你是對的 - 我誤解了查詢使用的那組ID。但是,似乎'或'是要走的路。 –
這樣做,對不對?我想附加的問題歸結爲,我做user_one_id和user_two_id外鍵?有必要嗎? – jlstr