Как в Phoenix/Elixir вставить родительскую модель и сразу несколько дочерних?

У меня модели Article и Commentary. Хочу вставить и Article и несколько Commentary сразу. Как я могу это сделать? В документации это не показано. В Rails я бы сделал что-то вроде этого:

article = Article.create!(title: "title1", body: "body1")
article.commentaries = [
    Commentary.create!(body: "comment body1"),
    Commentary.create!(body: "comment body2"),
    Commentary.create!(body: "comment body3")
]
article.save!

Как насчет Феникса/Эликсира?


person Kooooro    schedule 08.12.2016    source источник


Ответы (1)


%Article{}
|> Ecto.Changeset.change(title: "title1")
|> Ecto.Changeset.put_assoc(comments: [%Comment{body: "one"}, %Comment{body: "two"}])
|> Repo.insert!()

Я считаю, что это что-то вроде этого, вы поймете это отсюда.

person NoDisplayName    schedule 08.12.2016