2011-12-17 39 views
3

私はdocrineでAPC結果キャッシングを使用し、すべてのウェブサイトページにタイプエンティティのフィルタフォームを持ち、キャッシュしますが、メソッドにuseResultCache()を追加すると例外が発生しますDoctrineフォームの型エンティティとsymfonyの2結果キャッシング

選択フィールドに渡さ

エンティティは

例 を管理しなければなりません...-> getQuery() - > useResultCache(真、ヌル、 'someindex') - >のgetResult()

ただし、すべての操作はformentity typeは正常に動作します。

アイデア?

+0

例外がスローされ、そのメッセージは何ですか? – Crozin

答えて

3

あなたはそれを行う方法を理解しているかどうかわかりませんが、ここではどのように行っていますか(半日を費やしてこのことを考え出しました)。

/* in FormType.php */ 
public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $items = $options['entity_repository'] 
     ->findItems() 
     ->useResultCache(true, 3600, 'my_cache') 
     ->getResult(); 

    $choice_list = new ObjectChoiceList($items, 'name', array(), null, 'id'); 
    $builder->add('item', 'entity', array(
     'class' => 'MyBundle:Items', 
     'multiple' => true, 
     'expanded' => true, 
     'choice_list' => $choice_list, 
    )); 
} 
関連する問題