Php 对象标识已与acl关联

Php 对象标识已与acl关联,php,symfony,acl,event-listener,Php,Symfony,Acl,Event Listener,我尝试为ACL管理创建3个函数 public function postPersist(LifeCycleEventArgs $event){ $em = $event->getEntity(); $entity = $event->getEntity(); $aclProvider = $this->container->get('security.acl.provider'); $objectIdentity = ObjectIden

我尝试为ACL管理创建3个函数

public function postPersist(LifeCycleEventArgs $event){
    $em = $event->getEntity();
    $entity = $event->getEntity();

    $aclProvider = $this->container->get('security.acl.provider');
    $objectIdentity = ObjectIdentity::fromDomainObject($entity);

    try {
        $acl = $aclProvider->findAcl($objectIdentity);
    } catch (AclNotFoundException $e) {
        $acl = $aclProvider->createAcl($objectIdentity);
    }

    $securityContext = $this->container->get('security.context');
    $token = $securityContext->getToken();
    $securityIdentity = UserSecurityIdentity::fromToken($token);

    $acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER);
    $aclProvider->updateAcl($acl);
}
每当一个用户创建某个内容时,该服务就会创建ACL。(Eventlistener)

但是现在我有一个小问题。 我删除MySQL数据库的洞,每当我创建一个新实体时,就会出现以下错误消息

给定对象标识没有ACL

然后我从这个函数中删除try和catch,只让createACL,然后我得到

对象标识已与acl关联

我不明白这一点,当然我的数据库是空的


非常感谢您的帮助。

除了删除数据库之外,您是否尝试过清除整个缓存?这对我不起作用。我遇到了相同的错误“给定对象标识没有ACL”