beginTransaction() , а потом в ходе транзакции код не прошел условие и сделался return ?
транзакция сразу автозакоммитится после выхода из try/catch через return или перед выходом надо явно завершить транзакцию?
Если у тебя в коде сделался ретерн, то с чего бы транзакция завершалась
хз, вдруг защита от дурака, чтоб висячей транзакции в базе не было 🙊
зависит от настроек бд, может у тебя там автокоммит стоит
Экспшн от флаша имеешь в виду? Тогда хз, по идее не должна сама откатываться
$em->beginTransactiion() try{ if (a == b) return a em->persist(entity) em->flush() em->commit() } код сложнее немного, но смысл такой
Кстати, не помню, может и сбросится транзакция, лучше проверить
https://dev.mysql.com/doc/refman/8.0/en/innodb-autocommit-commit-rollback.html ответ тут
Там до бд может не дойти
А, ну здесь ретерн никак на транзакцию не влияет. Если бы из персиста или флаша эксепшн вылетел, тогда сложно сказать.
Обсуждают сегодня