简而言之,当我创建一个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