无法使用Zend框架2在Doctrine中缓存实体对象

时间:2013-08-07 12:58:02

标签: zend-framework doctrine-orm

我尝试使用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);

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

1 个答案:

答案 0 :(得分:0)

不建议序列化学说实体。您可以阅读更多相关信息here

作为替代解决方案,您可以将实体与数组进行所有必要的关联,然后对其进行缓存。