many generate doctrine2 symfony acl proxy-classes

doctrine2 - generate - many to many symfony



Clases de proxy de Doctrine 2 rompiendo Symfony2 ACL (1)

Cuando intento ejecutar findAcl () en una entidad con una entrada existente en la tabla acl_classes generada por init: acl, obtengo una AclNotFoundException.

La prueba con createAcl () en el objeto en cuestión antes de llamar a findAcl () muestra un nuevo registro en acl_classes para una clase de proxy del mismo tipo y la operación se completa con éxito.

Esto parece incorrecto, los proxies deberían ser transparentes, ¿o me estoy perdiendo algo?


Solo estoy respondiendo esto porque tuve un momento difícil para encontrar una solución y este fue el primer resultado en google para mí.

Sí, está mal y es un error conocido para symfony2.

Jonathan Ingram resolvió esto y escribió una publicación al respecto hace un tiempo: http://jonathaningram.com.au/2012/01/13/overriding-the-objectidentityretrievalstrategy-to-check-if-a-domain-object-is -a-doctrine-proxy /

Creó su propia estrategia de recuperación de identidad de objetos para anular la predeterminada y la registró en services.xml (ver la publicación anterior). En realidad, es una solución bastante simple y directa, estoy un poco avergonzado de no haberlo descubierto por mi cuenta :)

En symfony2.1 ya no es un problema, mira: https://github.com/symfony/symfony/pull/3826