Ich habe einen eindeutigen Constraint auf der SKU-Spalte in einer Variantentabelle. Ich habe ein Formular, mit dem ich mehrere Varianten mit jeweiligen SKUs bearbeiten kann. Das klassische Problem (Frage und Frage) ist wie folgt (und betrifft MySQL):
Angenommen, Sie haben zwei Zeilen mit den Werten:
- SKU1
- SKU2
Wenn Sie zwei Werte in einer bearbeiteten Sammlung vertauschen, wird die einmalige Validierung erfolgreich sein und Doctrine wird zwei Aktualisierungen ausgeben.
Die erste wird SKU1 auf SKU2 setzen und sofort den eindeutigen Constraint aufgrund doppelter Werte SKU2 und SKU2 nicht erfüllen.
- SKU1 -> SKU2 (Eindeutigkeitsfehler)
- SKU2
Was ist der beste Weg, um dies in Symfony 2.3 Form und Doctrine 2.4 zu lösen?