【问题标题】:Rails foreign key column name convention for a unary many-many relation一元多对多关系的Rails外键列名约定
【发布时间】:2012-03-22 07:05:26
【问题描述】:

我知道如果有一个“users”表和一个“posts”表,根据 rails 约定,posts 表有一个名为“user_id”的外键列。当我有一个“用户”表并且我试图建立的关系是一元多对多(许多买家可以通知许多卖家,买家和卖家都是“用户”)时,我的问题就出现了。现在 "notifications" 是连接表,它必须包含外键 "user_id" 和 "user_id",用于根据 Rails 命名外键的约定来存储买家和卖家的 id,但显然不能这样做。谁能告诉我如何在一元多对多关系中命名 F.K 列,以及这种关系的 rails 访问器方法是什么?

【问题讨论】:

    标签: ruby-on-rails ruby database activerecord


    【解决方案1】:
    class Notification
         belongs_to :seller, class_name: "User"
         belongs_to :buyer, class_name: "User"
    end
    

    通知表中的外键应该是seller_idbuyer_id。 foreign_keys 的名称由关联名称推断(此处为卖方和买方)。

    【讨论】:

    • 谢谢!!抱歉这么晚才回复!
    猜你喜欢
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    相关资源
    最近更新 更多