title: Symfony 2 - flush in postUpdate fire preUpdate event
body: <p>I detected this problem "thanks" to an exception I got:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>I am working on a project that requieres a specific logic:<br>
  When the <code>order</code> field in entity <code>book</code> is modified, I need to update field <code>books_order_modified_at</code> in the parent entity <code>bookstore</code> (this field allows me to know whether the order of books in a bookstore was changed).</p>
  
  <p>I decided to do it in an event listener since there are many places in the code that might change the order of books.</p>
  
  <p>I didn't find any way to update a related entity from <code>preUpdate</code> event, so I have a private field in the listener class which I use to tell the <code>postUpdate</code> event to update the relevant <code>bookstore</code> entity.</p>
  
  <p>My problem is that when I do so the <code>preUpdate</code> event of the <code>book</code> entity is fired.<br>
  When I check the change-set it contains only the <code>modified_at</code> field, but it has the same value before and after.</p>
  
  <p>If someone has another idea how to solve the problem - great.</p>
  
  <p>If not - any idea how can I prevent the <code>preUpdate</code> event from being fired when the flush is called in teh <code>postUpdate</code> event??</p>