Вы можете сделать что-то вроде следующего примера, который создает новую запись User
и новую запись Email
(где запись email
связана с родительской записью user
через внешний ключ user_id
) .
alias Ecto.Multi
user = get_user_params_from_form() # <-- or where-ever you are getting data
email = get_email_params_from_form()
Multi.new()
|> Multi.insert(:user, User.changeset(%User{}, user))
|> Multi.insert(
:email,
# Capture the id from the previous operation
fn %{
user: %User{
id: user_id
}
} ->
Email.changeset(%Email{user_id: user_id}, email)
end
)
Я думаю, что это демонстрирует тип отношений, которые вы описали. Надеюсь, это поможет!