2

Zend キャッシュ サービスを使用して Doctrine エンティティ オブジェクトをキャッシュしてみました。エンティティ オブジェクトに外部キー参照がない場合は問題なく動作しますが、エンティティ オブジェクトに外部キー参照があり、別の名前空間に属するエンティティを指している場合は失敗します。

このエラーがスローされました - スクリプトがメソッドを実行しようとしたか、不完全なオブジェクトのプロパティにアクセスしようとしました。unserialize() が呼び出される前に、操作しようとしているオブジェクトのクラス定義 DoctrineORMModule\Proxy__CG__\Attachment\Entity\Attachment がロードされていることを確認するか、/home/vaishnavi/ にクラス定義をロードする __autoload() 関数を提供してください。 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 に答える