繁体   English   中英

Symfony2生命周期事件不会在update()函数上触发

[英]Symfony2 Lifecycle Events wont fire on update() function

我的postUpdate函数仅在通过表单提交进行更改时才触发,而在以下情况下通过更新函数来更改时则不会触发。 我的帖子更新功能:

public function postUpdate(LifecycleEventArgs $args) {
    error_log('in post update');
}

生活事件声明:

custom.doctrine.listeer:
        class: Custom\CoreBundle\Listeners\CustomDoctrineListener
        tags:
            - { name: doctrine.event_listener, event: postUpdate, method: postUpdate }
            - { name: doctrine.event_listener, event: prePersist, method: prePersist }

不会触发生命事件的呼叫:

public function setPrivate($id,$private){
  $qb=$this->createQueryBuilder('cc')
    ->update()
    ->set('cc.private',$private)
    ->where('cc.id='.$id);
  return $qb->getQuery()->getResult();
}

使用实体管理器来触发生命周期事件,而不是自己编写更新查询。

// get the entity manager as $em ($em = ...)
$cc = $em->getRepository('your:repository')->find($id);
$cc->setPrivate($private);

$em->flush();

查看主义生命周期事件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM