如何使用ecto的新many_to_many
功能在具有_many_to_many_关系的两个表之间建立关联?
我从组织到用户都有一对多的关系:
organization = Organization.shortcode_changeset(%Organization{}, org_field)
organization = organization |> Repo.insert!
organization |> build_assoc(:users)
这使
%User{__meta__: #ecto.Schema.Metadata<:built, "users">,......}
user = Repo.preload(user, [:organization, :usergroup])
我该如何在用户和组之间进行many_to_many操作?
最佳答案
这是我的做法:
user = user |> Repo.preload(:groups)
%Group{}
|> Group.changeset(@group_field)
|> Repo.insert!
|> Repo.preload(:users)
|> change
|> put_assoc(:users, [user])
|> Repo.update
仅在找到这篇使我能够继续进行的文章之后,我才能执行此操作:
http://blog.roundingpegs.com/an-example-of-many-to-many-associations-in-ecto-and-phoenix/
关于elixir - 如何建立和插入多对多关联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38389392/