2011-12-17 60 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, 
    )); 
} 
相关问题