1

追加の情報フィールドを含むリンク テーブルとの 1:NM:1 関係を記述しようとしています。table1 と table3 の両方に多くのフィールドがあります。

既存のテーブルは次のようになります。

Table1      1:N   Table2       M:1   Table3
somethings        extra info         otherthings
id                table1_id          id
                  table3_id

table2.extra 情報は私にとって混乱しています。これをモンゴイドでどのように説明しますか?

class Model1
  include Mongoid::Document
  field :somethings, :type => String
  has_many_and_belongs_to :inbetween
end

class ModelInbetween
  include Mongoid::Document
  field :extra_info, :type => String

  ???
end

class Model2
  include Mongoid::Document
  field :otherthings, :type => String

  has_many_and_belongs_to :inbetween
end
4

1 に答える 1

1

Mongoid では、has_manyとは2 つのコレクション間の関係belongs_toを表すために使用されます。関係のみに使用されます。公式ドキュメントについては、こちらを参照してください。私が知る限り、テーブルは次のようになります。1:Nhas_many_and_belongs_toN:N

class Model1
  include Mongoid::Document
  field :somethings, :type => String
  has_many :modelInbetweens
end

class ModelInbetween
  include Mongoid::Document
  field :extra_info, :type => String

  belongs_to :model1
  belongs_to :model2

end

class Model2
  include Mongoid::Document
  field :otherthings, :type => String

  has_many :modelinbetweens
end

また、関係を定義する際にモデルの複数形/単数形を使用する必要があるかどうかにも注意してください。

于 2013-07-17T06:28:20.303 に答える