У меня проблема с событием postUpdate при замене непустой коллекции (user->userRoles
) на пустую. Во время этой операции событие postUpdate не запускается для объекта User.
Я не могу понять, почему PostUpdate не срабатывает после обновления ManyToMany из непустой коллекции в пустую коллекцию.
Все нормально при добавлении из пустого в непустое; То же самое при добавлении одного, при удалении одного из двух, при изменении других полей. Только не из непустой коллекции в пустую коллекцию.
class DatabaseActivitySubscriber implements EventSubscriber
{
public function getSubscribedEvents()
{
return [
Events::postUpdate,
(...)
];
}
public function postUpdate(LifecycleEventArgs $args)
{
// This is not called during change from count($user->userRoles)>0 to count($user->userRoles)=0
}
}
class User {
/**
* @ORM\ManyToMany(targetEntity="App\Entity\UserRole")
*/
private $userRoles;
(...other fields...)
}