【发布时间】:2016-10-29 10:32:40
【问题描述】:
我在建立我的数据库关系时遇到了困难,如果有人能给我一点帮助,我将不胜感激!
我有一张名为 Person 的表,另一张名为 Company 和 Company has many Persons 和 Person belongs_to Company >
公司 has_many Person 抛出了一个 名为 person 的属性,而 has_many Person 抛出了另一个 名为 administrator 的属性
看起来像
Coca-cola = Company.new
jonathan = Person.new / nicolas = Person.new
Coca-cola : {
person: jonathan,nicolas
administrator: nicolas
}
我做了第一次迁移:
def change
add_reference :persons, :person, index: true
add_reference :persons, :administrator, index: true
add_foreign_key :persons, :companys, column: :person_id
add_foreign_key :persons, :companys, column: :administrator_id
end
然后我将此关系添加到我的模型中
class Company < ApplicationRecord
has_many :persons,
:class_name => "Person",
:foreign_key => "person_id"
has_many :administrators,
:class_name => "Person",
:foreign_key => "administrator_id"
end
和
class Person < ApplicationRecord
belongs_to :person,
:class_name => "Company",
optional: true
belongs_to :administrator,
:class_name => "Company",
optional: true
end
不幸的是,这不起作用,任何可能导致问题的线索?
非常感谢。
乔纳森。
【问题讨论】:
标签: sql ruby-on-rails model foreign-keys