Warum funktioniert meine Symfony2 @ UniqueEntity-Einschränkung überhaupt nicht?

8

Ich habe die folgende Entitätsklasse in meiner Anwendung:

%Vor%

Die @ UniqueEntity-Einschränkung wird ignoriert. Ich habe verschiedene Geschmacksrichtungen ausprobiert, einschließlich:

%Vor%

und

%Vor%

und gemäß der Symfony2-Dokumentation hier: Ссылка

%Vor%

Nichts, was ich tue, funktioniert. Anstatt einen Formularüberprüfungsfehler wie erwartet zu erhalten, erhalte ich die folgende Ausnahme:

  

SQLSTATE [23000]: Verletzung Integritätsbedingung: 1062 Eintrag duplizieren   '[email protected]' für den Schlüssel 'UNIQ_D8183973E7927C74'

Das ist einfach falsch! Kann jemand dieses Problem beheben?

    
josef.van.niekerk 17.08.2012, 07:43
quelle

4 Antworten

21

Das Problem wurde wie folgt gelöst:

%Vor%

Die Registrierungsgruppen fehlten und ich musste sie in zwei separate Anmerkungen aufteilen.

    
josef.van.niekerk 17.08.2012, 13:26
quelle
12

Ein weiterer Grund für dieses Problem ist, wenn Sie Formularsammlungen verwenden und ein Unterformular einfügen, das eine verknüpfte Entität behandelt, müssen Sie cascade_validation auf true im Stammverzeichnis und allen Unterformularen festlegen.

Siehe den Hinweis in der Symfony-Dokumentation :

  

Um die Validierung für CategoryType zu aktivieren, fügen Sie die Option cascade_validation zu TaskType :

hinzu
%Vor%

Aktualisierung:

Um sicherzustellen, dass Ihre untergeordneten Entitäten validiert werden, gibt es sogar einen besseren Weg. Aus genau diesem Grund stellt Symfony die Valid Einschränkung bereit. Aus der Dokumentation :

  

Gültig
  Diese Einschränkung wird verwendet, um die Validierung für Objekte zu aktivieren, die als Eigenschaften für ein zu prüfendes Objekt eingebettet sind. Auf diese Weise können Sie ein Objekt und alle damit verknüpften Unterobjekte validieren.

    
naitsirch 05.07.2013 08:54
quelle
3

Bitte beachten Sie ignoreNull

Zum Beispiel um korrekt mit pid zu arbeiten (kann null sein):

%Vor%     
nvvetal 18.04.2015 13:38
quelle
1

Versuchen Sie

hinzuzufügen %Vor%

zu deiner App-Konfiguration

    
AdrienBrault 17.08.2012 09:33
quelle

Tags und Links