Как безопасно использовать UniqueEntity (на сайтах с более чем одним пользователем одновременно)
Может кто-нибудь умный может поделиться шаблоном дизайна, который он использует, чтобы избежать этой основной и распространенной проблемы параллелизма в Doctrine \ Symfony?
Сценарий: Каждый пользователь должен иметь уникальное имя пользователя.
Неудачное решение:
ДобавитьUniqueEntity ограничение на сущность пользователя.Следоватьобразец, предложенный в документах Symfony: Используйте компонент Form для проверки потенциального нового пользователя. Если это действительно так, сохраните это.Почему это не удается: Между проверкой и сохранением пользователя имя пользователя может быть занято другим пользователем. Если это так, Doctrine выдает исключение UniqueConstraintViolationException, когда пытается сохранить нового пользователя.