Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Rails-使用multple有许多贯穿始终的功能:将相同的两个模型连接在一起的关联。冗余通过以下方式实现:_Sql_Ruby On Rails_Database_Associations - Fatal编程技术网

Sql Rails-使用multple有许多贯穿始终的功能:将相同的两个模型连接在一起的关联。冗余通过以下方式实现:

Sql Rails-使用multple有许多贯穿始终的功能:将相同的两个模型连接在一起的关联。冗余通过以下方式实现:,sql,ruby-on-rails,database,associations,Sql,Ruby On Rails,Database,Associations,通过雇佣和面试,协会人员和公司会不会是坏习惯? 具体来说,为什么? 这个答案是否适用于一般数据库,而不仅仅是rails 例如: employment.rb class Employment < ActiveRecord::Base belongs_to :people belongs_to :companies end class Employment

通过雇佣和面试,协会人员和公司会不会是坏习惯? 具体来说,为什么? 这个答案是否适用于一般数据库,而不仅仅是rails

例如:

employment.rb

class Employment < ActiveRecord::Base
    belongs_to :people
    belongs_to :companies
end
class Employment
访谈.rb

class Interview < ActiveRecord::Base
    belongs_to :people
    belongs_to :companies
end
课堂访谈
person.rb

class Person < ActiveRecord::Base
    has_many :employments
    has_many :interviews
    has_many :companies, through: :employments
    has_many :companies, through: :interviews
end
class-Person
company.rb

class Company < ActiveRecord::Base
    has_many :employments
    has_many :interviews
    has_many :companies, through: :employments
    has_many :companies, through: :interviews
end
class公司

个人和公司通过就业联系在一起,但也通过面试联系在一起。

两个模型有多个关联,包括同一类型的多个关联,没有什么错。不过,你会想给这些协会起一个唯一的名字,否则当你打电话给(比如)person.companys时,你就不知道你会得到什么——通过雇佣的公司,或者通过面试的公司


我相信这个问题有一个很好的例子:

你的意思是在一个“加入”模型中,给一个主要模型取一个笔名吗?@gwho5150我的意思是“主要”模型-重要的是在引用(集合)相关模型时避免歧义。