Was ist der einfachste Weg, um ein Ecto Modell/Record zu klonen? Ich habe ein Rezeptmodell mit vielen Zutaten und eingebetteten Etiketten.Klonen Sie eine Ecto-Aufzeichnung. Mit Einbettungen und zugehörigen Datensätzen?
Modell
defmodule App.Recipe do
use App.Web, :model
schema "recipes" do
field :name, :string
has_many :ingredients, App.Ingredient
embeds_many :labels, App.Label
end
Clone Rezept Rekord Wie kann ich ein Rezept Datensatz klonen und eine changeset schaffen für ein neues Rezept Datensatz einfügen?
recipe = Repo.get(App.Recipe, 1)
recipe_changeset = Ecto.Changeset.change(recipe)
# ... Steps for cloning record with embeds?
new_recipe = Repo.insert(recipe_changeset)
Clone Rezept und Zutaten und weisen neue Rezept-ID Zutaten
Wie kann ich klonen ein Rezept Datensatz mit vorinstallierten ingrediens für ein neues Rezept Datensatz mit neuen Zutaten einfügen?
recipe = Repo.get(App.Recipe, 1)
|> Repo.preload(:ingredients)
recipe_changeset = Ecto.Changeset.change(recipe)
# ... Steps for cloning records?
new_recipe = Repo.insert(recipe_changeset)
Sie möchten auch alle Zutaten klonen und ihre 'rezept_id' auf die ID des neuen Rezepts einstellen, richtig? – Dogbert
Ja, ich möchte alle Zutaten klonen und ihnen die neue Rezept-ID zuweisen. – rodeinator