想象一个简单的I-O-U应用程序,其中有User
模型和Transaction
模型。
User
表格包含以下列:
Transaction
表格包含以下列:
User.id
的外键)User.id
的外键)用户只能借出或借用User
表中存在的其他用户。
一个例子是:
User:
id | name
-------------
1 | name A
2 | name B
3 | name C
Transaction:
lender_id | borrower_id | date
----------------------------------
1 | 2 | date1
1 | 3 | date2
3 | 2 | date3
我如何在模型类中实现关联?
答案 0 :(得分:2)
关于交易:
belongs_to :lender, :class_name => "User"
belongs_to :borrower, :class_name => "User"
用户:
has_many :loans, :class_name => "Transaction", :foreign_key => "lender_id"
has_many :debts, :class_name => "Transaction", :foreign_key => "borrower_id"
这会给你:
u = User.first
u.loans # [transaction, transaction, ...]
u.debts # [transaction, transaction, ...]
和
t = Transaction.first
t.lender # User
t.borrower # User
希望这有帮助!