Symfony 2 -сброс в postUpdate запускает событие preUpdate

Я обнаружил эту проблему «благодаря» полученному исключению:

Catchable Fatal Error: Argument 3 passed to
Doctrine\ORM\Event\PreUpdateEventArgs::__construct() 
must be an array, null given, called in 
/.../vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.php on line 804 
and defined in
/.../vendor/doctrine/lib/Doctrine/ORM/Event/PreUpdateEventArgs.php line 28

Я работаю над проектом, который требует определенной логики:
Когда поле orderв объекте bookизменено, мне нужно обновить поле books_order_modified_atв родительском объекте bookstore(. это поле позволяет мне узнать, был ли изменен порядок книг в книжном магазине ).

Я решил сделать это в прослушивателе событий, так как в коде есть много мест, которые могут изменить порядок книг.

Я не нашел способа обновить связанный объект из события preUpdate, поэтому у меня есть приватное поле в классе слушателя, которое я использую, чтобы сообщить событию postUpdateоб обновлении соответствующего объекта bookstore.

Моя проблема в том, что когда я это делаю, запускается событие preUpdateсущности book.
Когда я проверяю набор изменений -, он содержит только поле modified_at, но имеет одинаковое значение до и после.

Если у кого-то есть другая идея, как решить проблему -, отлично.

Если нет -, есть идеи, как я могу предотвратить запуск события preUpdateпри вызове сброса в событии postUpdate??

10
задан guyaloni 6 July 2012 в 18:23
поделиться