如何在Elixir中插入嵌套的结构?

时间:2017-02-03 14:06:03

标签: elixir ecto

我有以下层次结构:

  BRAND  (1)
    +
    |
    v
CHANNELS (0, N)
    +
    |
    v
 POSTS   (0, N)

因此,每个Brand都有多个Channels,其中有多个Posts

问题是,我想要使用给定的PostChannel名称插入一个Brand

所以我需要做的是:

  1. 创建Post
  2. 查找或创建Channel
  3. Post与频道
  4. 相关联
  5. 查找或创建Brand
  6. ChannelBrand
  7. 相关联

    我的find_or_update功能是:

    Repo.insert(
      %Brand{name: "name"},
      on_conflict: [set: [name: name]], 
      conflict_target: :name, 
      returning: [:id]
    )
    

    这样会给我一个id

    完成所有这些的最佳方法是什么?

0 个答案:

没有答案