我正在尝试在ecto中使用has_many :through
关系,以实现User
模型和Group
模型之间的许多关系。
我只能在网上找到的唯一信息是与JoséValim here在一篇帖子中嵌套的属性有关的(顺便说一句,这非常好)。
由于组已经存在于系统中,因此我希望进行多选输入。我在这样做时遇到了几个问题。我不认为可以直接在变更集中分配groups
关联,因为每次尝试这样做都会出错。我的下一个想法是手动完成工作(查找,删除和插入GroupMembership
记录),但是我不确定这是否是正确的选择,因此想首先获得一些建议。
由于代码示例有很多行,因此我做了一个要点here。
如果希望我直接将其发布在此问题中,我当然可以做到。
感谢您提供的所有帮助!
最佳答案
不幸的是,Ecto 1.0不支持很多。这意味着您将需要接收ID并为要与用户关联的每个组手动建立中间关联。我们希望在将来的版本中使此操作变得更容易。
编辑:Ecto 2.0支持many_to_many。
关于elixir - Ecto has_many :through in form,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33127960/