加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 两个带ActiveRecord的外键? [轨]

发布时间:2020-12-17 03:57:25 所属栏目:百科 来源:网络整理
导读:我有一个User类引用Message类.消息类具有user_id(发送者)和receiver_id.所以在User类中我有 has_many :messages has_many :messages,:foreign_key = "receiver_id" 然后在我有的Message类中 belongs_to :user 第一个关系 – 通过user_id – 非常顺利.我没有
我有一个User类引用Message类.消息类具有user_id(发送者)和receiver_id.所以在User类中我有

has_many :messages
  has_many :messages,:foreign_key => "receiver_id"

然后在我有的Message类中

belongs_to :user

第一个关系 – 通过user_id – 非常顺利.我没有丝毫想知道第二个关系的Message类要放什么.消息表使用user_id和receiver_id构建,因此支持就在那里.

这甚至可能吗?

此外,我不知道如何获取用户收到的消息…或收到消息的用户:)

[我知道我可以解决这个问题,因为有一个发送者表和一个接收者表和一个消息表,也许还有一堆其他表(一个会话表!),但是我想这样做,为了好玩它的.此应用程序将仅用于学习.]

同样重要的是:文档在哪里? This不是很有帮助.

解决方法

在您的User类中:

has_many :messages
has_many :received_messages,:foreign_key => "receiver_id",:class_name => "Message"

在您的Message类中:

belongs_to :user
belongs_to :receiver,:class_name => "User"


@user = User.first
@user.messages
@user.received_messages

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读