Elixir Ecto:在多对多关系中使用数据透视属性

时间:2017-02-09 10:26:27

标签: many-to-many pivot elixir ecto

我目前在解决如何在Ecto多对多关系中使用枢轴属性时遇到了麻烦。

我发现了以下问题,但遗憾的是没有人得到答案:https://stackoverflow.com/questions/37158184/elixir-ecto-pivot-many-to-many-table-attributes

基本上我需要与问题中提到的相同的设置。两个模型,我需要将数据存储到数据透视表项。

有没有人解决这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我在我的一个应用程序中执行以下操作

def Foo do
  schema "foos" do
    field :name, :string

    has_many :bars_foos
  end
end

def Bar do
  schema "bars" do
    field :other, :integer

    has_many :bars_foos
  end
end

def BarFoo do
  schema "bars_foos" do
    field :size, :integer

    belongs_to :bars
    belongs_to :foos
  end
end

这使用has_manybelongs_to代替many_to_many,但它完成了非常相似的事情。如果您需要直接链接到其他数据集,还可以将many_to_manythrough一起使用。