Доктрина, как проверить успешность flush ()?

Используя Doctrine, я пытаюсь проверить, успешно ли работает flush().

до моих дней ORM я делал if ( $query->execute() ) {}

Поскольку flush() возвращает void, я не уверен, что использование try catch решит такую ​​проблему, как предложено здесь? Было бы это?

Если нет, есть ли способ добиться чего-то подобного?

Принятый ответ правильный, но тогда возникает вопрос, что делать с перехваченным исключением. Подобно затруднительному положению, с которым сталкивается собака, когда она на самом деле ловит грузовик, за которым гонится. Обычно у вас очень ограниченные возможности восстановления. Диспетчер сущностей больше не используется (хотя вы можете создать новый). Вы зарылись где-то глубоко в своем коде, и его бывает сложно раскопать. В большинстве случаев вы можете просто позволить глобальному обработчику исключений фреймворка позаботиться об этих проблемах.

Cerad 13.08.2018 15:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
1
3 717
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

если вы хотите узнать, была ли очищена сущность, вы можете использовать прослушиватель событий доктрины (https://symfony.com/doc/3.0/doctrine/event_listeners_subscribers.html)

поможет вам выполнить действие автоматически после сохраняющегося события

Хотя страница, на которую вы ссылаетесь, дает ответ сегодня, вы должны включить в свой ответ код, который дает ответ. Эта ссылка может однажды умереть, пока жив ваш ответ, создавая бессмысленную ситуацию.

rkeet 13.08.2018 14:01
Ответ принят как подходящий

Под капотом PDO выдаст исключение, если выполнение запроса не удастся. Доктрина не заставит замолчать это исключение (оно перенесет его в оболочку, а выбросит повторно). Поэтому просто убедиться, что исключение не возникло, достаточно, чтобы проверить, все ли было выполнено успешно.

даже с движком mysql?

Sam 13.08.2018 13:46

Да, это функция PDO (см. php.net/manual/en/pdo.error-handling.php), которая включена для вас под капотом Doctrine DBAL.

xabbuh 13.08.2018 13:50

Пока вы используете PDO, не имеет значения, какой движок вы используете.

emix 25.10.2018 15:13

Другие вопросы по теме