2

我尝试使用 zend 缓存服务缓存 Doctrine 实体对象。如果实体对象没有任何外键引用,则它可以正常工作,但当实体对象具有外键引用并指向属于不同命名空间的实体时,它会失败。

它抛出了这个错误 - 脚本试图执行一个方法或访问一个不完整对象的属性。请确保在调用 unserialize()之前加载了您尝试操作的对象的类定义 DoctrineORMModule\Proxy__CG__\Attachment\Entity\Attachment或提供 __autoload() 函数以在 /home/vaishnavi/ 中加载类定义NetBeansProjects/testsuite/module/Test/view/test/test/view-test-case.phtml

通过提供以下内容自动加载 init_autoloader.php 中的代理类来修复上述错误 -

use Doctrine\ORM\Proxy\Autoloader;

$proxyDir = __DIR__."/data/DoctrineORMModule/Proxy";
$proxyNamespace = "DoctrineORMModule\Proxy";
Autoloader::register($proxyDir, $proxyNamespace);

现在上面的错误没有出现但是没有显示外键引用类的属性值。有人可以帮忙吗?

4

1 回答 1

0

不建议对学说实体进行序列化。你可以在这里阅读更多关于它的信息。

作为替代解决方案,您可以将具有所有必要关联的实体水合到数组中,然后将其缓存。

于 2013-08-07T18:44:42.477 回答