我想在每次管理员删除其中一条内容时添加一条消息(存储在我的BDD中供用户稍后阅读)。
我决定在docReine PostRemove监听器上使用事件listerner。
当我一次只删除一个coment时,这很好用。但如果我删除多个,那么我收到以下消息:
/Applications/MAMP/htdocs/Symfony/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php
中的未定义索引:0000000035772b14000000017d26f374LISTERNER
truc.doctrine.notification:
class: Sdz\BlogBundle\DoctrineListener\TraductionDeleteMessage
tags:
- { name: doctrine.event_listener, event: postRemove }
class TraductionDeleteMessage
{
public function postRemove(LifecycleEventArgs $args)
{
$coment = $args->getEntity();
if (!$Coment instanceof Coment) {
return;
}
$em = $args->getEntityManager();
$message = new Message;
$message->setContenu('message');
$em->persist($message);
$em->flush();
}
}
控制器
foreach($liste_coments as $coment) // Objet initial
{
if(false === $article->getComents()->contains($coment))
{
$em->remove($coment);
}
}