Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Doctrine orm 原则2代理类破坏Symfony2 ACL_Doctrine Orm_Symfony_Acl_Proxy Classes - Fatal编程技术网

Doctrine orm 原则2代理类破坏Symfony2 ACL

Doctrine orm 原则2代理类破坏Symfony2 ACL,doctrine-orm,symfony,acl,proxy-classes,Doctrine Orm,Symfony,Acl,Proxy Classes,当试图在init:acl生成的acl_classes表中存在条目的实体上运行findAcl()时,我得到一个AclNotFoundException 在调用findAcl()之前,对相关对象使用createAcl()进行测试,会在acl_类中为相同类型的代理类显示一条新记录,并且操作成功完成 这似乎是错误的,代理应该是透明的,对吗?还是我遗漏了什么?我只是回答这个问题,因为我很难找到解决方案,这是我在谷歌上的第一个结果 是的,这是错误的,这是symfony2的一个已知错误 乔纳森·英格拉姆解决了

当试图在init:acl生成的acl_classes表中存在条目的实体上运行findAcl()时,我得到一个AclNotFoundException

在调用findAcl()之前,对相关对象使用createAcl()进行测试,会在acl_类中为相同类型的代理类显示一条新记录,并且操作成功完成


这似乎是错误的,代理应该是透明的,对吗?还是我遗漏了什么?

我只是回答这个问题,因为我很难找到解决方案,这是我在谷歌上的第一个结果

是的,这是错误的,这是symfony2的一个已知错误

乔纳森·英格拉姆解决了这个问题,不久前写了一篇文章:

他创建了自己的对象标识检索策略来覆盖默认值,并在services.xml中注册了它(参见上面的文章)。事实上,这是一个非常简单和直接的解决方案,我有点惭愧我没有自己找到答案:)


在symfony2.1中,这不再是一个问题,请参阅:

看起来我不是唯一一个有这个问题的人:也相关:为了完成这篇文章,我遇到了同样的问题,但是在ACL表中插入代理和实体的
$idFranquicia=UserSecurityIdentity::fromcount($franquicia)
。解决方案是直接使用具有类的完全限定名(FQN)的构造函数,如
$idFranquicia=newusersecurityidentity($franquicia->getUsername(),'MiAlarma\SuperuserBundle\Entity\franquicia')