当我尝试将服务example_module u__example_module (
.a (a),
.b (b),
.x (x),
.y (y),
.clk(clk)
);
作为我的侦听器@doctrine.orm.entity_manager
的参数时发生错误。
我的服务:
UserDeletionListener
我的听众:
se.doctrine_listener.user_deletion:
class: SE\CoreBundle\DoctrineListener\UserDeletionListener
arguments:
- "@doctrine.orm.entity_manager"
tags:
- { name: doctrine.event_listener, event: preRemove }
这是错误:
namespace SE\CoreBundle\DoctrineListener;
use Doctrine\Common\Persistence\Event\LifecycleEventArgs;
use Doctrine\ORM\EntityManager;
use SE\UserBundle\Entity\User;
class UserDeletionListener
{
/**
* @var \Doctrine\ORM\EntityManager
*/
private $em;
public function __construct(EntityManager $entityManager)
{
$this->em = $entityManager;
}
/...
答案 0 :(得分:2)
当你使用EventArgs {lifecycle,preUpdate等...]时,你不必再通过doctrine.orm.entity_manager :-D你可以通过eventArgs本身的getEntityManager方法得到它
答案 1 :(得分:0)
将延迟加载添加到学说事件监听器中
* -{名称:doctrine.event_listener,事件:preRemove,惰性:true}