无法访问私有属性Doctrine \ ORM \ Event \ PreUpdateEventArgs :: $ entityChangeSet

时间:2018-06-25 08:47:01

标签: php symfony doctrine-orm doctrine

我正在研究一个管理视频的Symfony 2.7项目。我正在编写一个实体侦听器,该侦听器将检查视频的更改,如果ownerGroup属性被更改,则将标签应用于视频。这是我尝试使用的逻辑:

public function preUpdate($video, $args)
{

    if(!array_key_exists('ownerGroup', $args->entityChangeSet)){
        return; 
    }
    $entity = $args->getEntity();

    //It looks like we're changing the ownerGroup property. 
    //Do some stuff here.

}

问题是该函数运行时得到以下信息:

  

错误:无法访问私有财产   主义\ ORM \ Event \ PreUpdateEventArgs :: $ entityChangeSet

我可以用吸气剂解决这个问题吗?我的IDE的代码完成似乎并不认为存在这样的功能。

1 个答案:

答案 0 :(得分:1)

尝试使用getter方法进行访问,例如:

if(!array_key_exists('ownerGroup', $args->getEntityChangeSet())){
    return; 
}

文档here中的更多信息