Skip to content

Instantly share code, notes, and snippets.

View Vitaly-A-Ivanov's full-sized avatar

Vitaliy Vitaly-A-Ivanov

View GitHub Profile
@Vitaly-A-Ivanov
Vitaly-A-Ivanov / class_controller.ex
Created July 24, 2023 17:36 — forked from elderbas/class_controller.ex
Elixir — Inserting Multiple Changesets Into Database - create batch
def create_batch(conn, %{"people" => people_params}) do
changesets = Enum.map(people_params, fn class ->
Person.changeset(%Person{}, person)
end)
result = changesets
|> Enum.with_index()
|> Enum.reduce(Ecto.Multi.new(), fn ({changeset, index}, multi) ->
Ecto.Multi.insert(multi, Integer.to_string(index), changeset)
end)