Doctrine UniqueConstraint
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- pitr82
- Člen | 121
Jak řešíte kolizi v unikátních sloupcích při vkládání / updatu?
1. Při flushování zachytit vyjímku
\Doctrine\DBAL\Exception\UniqueConstraintViolationExceptio
-pak si můžu vypsat ze zachycené vyjímky sloupec, ktery toto
způsobil.
-ale již nemám k dispozici EntityManager
2. použít metodu EntityManager->safePersist
-nedozvím se, který sloupec toto zavinil (nedám zprávu uživateli)
-neschodím EntityManager
3. položit dotaz, jestli zadané hodnoty nejsou již v použity
v unikátních sloupcích
-můžu dát zprávu uživateli
-Mám Entity Manager
Momentálně používám možnost 1. V případě neúspěchu nevytvářím log (zápis do DB) jinak bych to řešil 3.
Editoval pitr82 (9. 3. 2016 21:49)
- Oli
- Člen | 1215
pak si můžu vypsat ze zachycené vyjímky sloupec, ktery toto způsobil.
Jde to nějak hezky nebo jen podobnými oklikami?