Autor | Zpráva | ||
---|---|---|---|
CarlosK Profil * |
#1 · Zasláno: 25. 6. 2012, 21:59:34
Dobrý den, dají se v Doctrine 2 odchytit výjimky, které vzniknou při pokusu vložit duplicitní data do unikátní tabulky? Nebo se v Doctrine 2 ošetřují chyby úplně jinak?
Při pokusu o zapsání do databáze je vyhozena tato výjimka: PDOException #23000 SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'test' for key 'username' Děkuji |
||
Majkl578 Profil |
S odchytáváním výjimek není problém. Jediné, na co je třeba pamatovat, že bys po výjimce nikdy neměl používat původní instanci EntityManageru - měl bys jej zavřít a vytvořit nový. Je to zmíněno i v dokumentaci.
|
||
CarlosK Profil * |
#3 · Zasláno: 26. 6. 2012, 22:29:57
Děkuji. Řeším problém, že pokud při registraci uživatel zadá uživatelské jméno nebo e-mail, který už v databázi existuje, tak mu to nemohu oznámit. Pokud bych odchytával PDOException, tak nezjistím rozdíl mezi duplicate entry pro tabulku username, nebo email. Není nějaký způsob jak tohoto docílit? Doctrine 2 používám zatím jen krátce, takže se omlouvám za možná hloupý dotaz.
|
||
snake.aas Profil |
Dá se to řešit odchycením pdoexception a kontrolou chybového kódu, ale pokud použiješ jiný typ DB (např oracle s OCI8 driverem), tak to samozřejmě nebude fungovat.
|
||
Časová prodleva: 12 let
|
0