0
次のコードがあります。 Partのコード列には一意の値が必要です。したがって、remove()
、次に同じコード値の行persist()
が発生すると、エラーがスローされます。しかし、行は最初に削除されるはずなので、値は1つだけです。これらのコマンドの間にflush()
を実行する必要がありますか?Doctrine:一意の値を指定して削除してから続ける
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();