2011-12-17 4 views
3

docrine에서 APC 결과 캐싱을 사용하고 모든 웹 사이트 페이지에 유형 엔터티가있는 필터 양식이 있고이를 캐시하고 싶습니다. 그러나 메소드에 useResultCache()를 추가하면 예외가 발생합니다.Doctrine 형식의 엔티티와 symfony에서 2 결과 캐싱

> useResultCache (사실, 널 (null), 'someindex') - - 선택 필드에 전달

엔티티

예를 ...-> getQuery()을 관리해야합니다> 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, 
    )); 
}