Doctrine postPersist事件不推荐使用getEntity函数

时间:2017-08-24 08:44:23

标签: symfony doctrine-orm doctrine

在创建Doctrine postPersist EventListener之后的Symfony中,我的IDE指向$args->getEntity()行;由于被弃用,我不知道如何解决这个问题,因为它与Symfony docs for version 2.8

中的代码相同

IDE PhpStorm的屏幕截图:https://image.prntscr.com/image/tT4zAlXkQMOxqvo6TLblUg.png

代码:

public function postPersist(LifecycleEventArgs $args)
{
    $entity = $args->getEntity();

    // ...
}

2 个答案:

答案 0 :(得分:5)

在你正在使用的eventlistener类中,我猜你设置了坏类。

use Doctrine\Common\Persistence\Event\LifecycleEventArgs; -> the getEntity() method is deprecated.

您应该使用:

use Doctrine\ORM\Event\LifecycleEventArgs;

答案 1 :(得分:1)

您可以使用$args->getObject(),它会返回与getEntity()相同的对象。

更多信息:http://www.doctrine-project.org/api/common/2.4/source-class-Doctrine.Common.Persistence.Event.LifecycleEventArgs.html#70-78

如果您使用Doctrine< 2.4,你应该使用Doctrine\ORM\Event\LifecycleEventArgs