Этот вопрос может быть слишком широким. Таким образом, веб-сайты используют общую базу данных, что если в строке 2:Php, заблокировать базу данных во время запроса?
\Doctrine\Repository::getUser()->findById(1)
ОК, но этот пользователь может быть удален. Таким образом, 6 строк позже, по строке 8:
\Doctrine\Repository::getUser()->findById(1)
будет выдавать исключение! Общее решение будет предотвращать команды DELETE/UPDATE во время выполнения запроса. Но как?
Другим решением является обработка исключений. – gbestard
или 'SELECT FOR UPDATE' и прочее – Federkun
взгляните на блокировку: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/transactions-and-concurrency.html – lxg