2016-11-18 3 views
0

У меня есть следующие схемы:Confuse об отношениях эктопаразитицида

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 тоже:

schema "table3" do 

    belongs_to :coun, CountryCode, foreign_key: :alpha2 
    field :text, :string 

    timestamps 

end 

, как у меня изменить схему languages_code?

ответ

1

Если я ошибаюсь, то как вы спрашиваете, как представить отношение belongs_to на модели LanguagesCode?

Если да, то в зависимости от наличия или отсутствия кода языка может иметь один или несколько 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 

Вы бы, конечно, заменить, Table3ModuleName с фактическим именем модуль, содержащий определение схемы таблицы table3.

+0

Что заставляет вас путать, как я должен разработать схему. Понятие иногда так странно. Как лучше понимать ecto? –

+1

@zero_coding, который действительно не является вопросом ecto, это больше вопрос дизайна базы данных, если я правильно понимаю вас. Я был бы рад оказать вам дополнительную помощь в разработке базы данных, но мне нужно больше узнать о домене и о том, чего вы пытаетесь достичь. Возможно, отредактируйте исходное сообщение, чтобы включить это –

Смежные вопросы