0

我有一个数据库模式,belongs_to即使模型之间的关系是模型与模型之间的关系,也可以运送两个用户。
货件可以有一个receiver_id和一个sender_id。接收者和发送者都是同一张表(用户模型)中的两条不同的记录。

我想知道如何在我的 rails 后端建立关系,以便将货物与属于_to 的记录建立关系,用户是发送者的记录,以及用户是接收者的同一数据库中的另一条记录。
我一直在思考如何做到这一点,而且很难想出一个解决方案。我唯一的解决方案是销毁现有的用户模型,并创建两个不同的模型:接收者和发送者。或者有其他解决方案吗?我在这个线程中附加了我的数据库模式。

任何帮助将不胜感激。提前致谢!

数据库模式

4

1 回答 1

0
class Shipment < ApplicationRecord
  belongs_to :sender, :class_name => "User"
  belongs_to :recipient, :class_name => "User"
end

class User < ApplicationRecord
  has_many :sent_shipments, :class_name => "Shipment", foreign_key: 'sender_id'
  has_many :received_shipments, :class_name => "Shipment", foreign_key: 'recipient_id'
end
于 2018-08-26T17:56:14.843 回答