混淆外部关系
Confuse about ecto relationship
我有以下架构:
schema "countries" do
belongs_to :lang, LanguageCode, foreign_key: :code
field :text, :string
timestamps
end
schema "languages_code" do
has_one :code, Country, foreign_key: :lang
field :text, :string
timestamps
end
我的问题是,当我要创建也应该属于 LanguageCode 的第三个 table 时:
schema "table3" do
belongs_to :coun, CountryCode, foreign_key: :alpha2
field :text, :string
timestamps
end
我该如何修改 languages_code 模式?
如果我没记错的话,你问的是如何在 LanguagesCode 模型上表示 belongs_to
关系?
如果是这样,那么根据语言代码是否可以有一个或多个 table3
行属于它,您可以这样做:
schema "languages_code" do
has_one :code, Country, foreign_key: :lang
#For has_one
has_one :code, Table3ModuleName, foreign_key: :alpha2
#For has_many
has_many :code, Table3ModuleName, foreign_key: :alpha2
field :text, :string
timestamps
end
您当然会用包含 table3
table 架构定义的模块的实际名称替换 Table3ModuleName
。
我有以下架构:
schema "countries" do
belongs_to :lang, LanguageCode, foreign_key: :code
field :text, :string
timestamps
end
schema "languages_code" do
has_one :code, Country, foreign_key: :lang
field :text, :string
timestamps
end
我的问题是,当我要创建也应该属于 LanguageCode 的第三个 table 时:
schema "table3" do
belongs_to :coun, CountryCode, foreign_key: :alpha2
field :text, :string
timestamps
end
我该如何修改 languages_code 模式?
如果我没记错的话,你问的是如何在 LanguagesCode 模型上表示 belongs_to
关系?
如果是这样,那么根据语言代码是否可以有一个或多个 table3
行属于它,您可以这样做:
schema "languages_code" do
has_one :code, Country, foreign_key: :lang
#For has_one
has_one :code, Table3ModuleName, foreign_key: :alpha2
#For has_many
has_many :code, Table3ModuleName, foreign_key: :alpha2
field :text, :string
timestamps
end
您当然会用包含 table3
table 架构定义的模块的实际名称替换 Table3ModuleName
。