Ich habe den folgenden Code. Die Code-Spalte von Part erfordert einen eindeutigen Wert und daher gibt es einen Fehler, wenn ich remove()
, dann persist()
eine Zeile mit dem gleichen Code-Wert. Die Zeile soll jedoch zuerst entfernt werden, so dass nur ein Wert vorhanden ist. Muss ich flush()
zwischen diesen Befehlen ausführen?Doktrin: entfernen, dann mit eindeutigen Werten
if ($existingPart) { # we found one
if ($existingPart->getPrice() != $part->getPrice()) { # price changed
$em->remove($existingPart); #soft-delete the old one
$em->persist($part); # persist the new part
$countUpdates++; # get number of updated entities
}
} else {
$em->persist($part); # no existing part with same code, just add new part
$count++; # get number of new commits
}
}
$em->flush();