2011-12-17 58 views
3

我在docrine中使用APC結果緩存,並且在所有網站頁面中都使用了類型實體的過濾器窗體並希望緩存此內容,但是當我將useResultCache()添加到方法時,我得到異常Docfine 2在Symfony中使用表單類型實體的結果緩存

實體傳遞到選擇字段必須被管理

例如 ...-> getQuery() - > useResultCache(真,無效, 'someindex') - >的getResult()

但所有動作都沒有formentity type正常工作。

任何想法?

+0

拋出什麼異常,它的消息是什麼? – Crozin 2013-05-26 21:22:39

回答

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, 
    )); 
} 
相關問題