Bonjour,

Je suis en train d'essayer le Result Cache de Doctrine. Voici mon bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public function findAllQuery()
    {
        $query = $this->createQueryBuilder('q')
                    ->orderBy('q.id', 'asc')
                    ->getQuery();
 
        $query->useResultCache(true, 3600, 'allOffresList');
 
        return $query;
    }
Sans le useResultCache, ça fonctionne très bien (mais sans le cache bien sûr).

Par contre, avec la ligne useResultCache, j'ai un Twig_runtime_error :

Item "id" for "Array" does not exist in MonBundle:Admin:listeOffres.html.twig at line 18
Je vais voir à la ligne 18 du template et il n'y a absolument rien qui correspondent aux infos indiquées par l'exeption.

Comment se sert-on du Result Cache dans ce cas. D'après ce que j'avais pu lire à droite et à gauche, ça ne me semblait pas sorcier. Mais je sèche. Et d'ailleurs, est-il également possible de mettre en cache les résultats des requêtes effectuée pour les champs de type 'entity' dans un formulaire. Si oui comment, car je ne crois pas qu'on puisse utiliser useResultCache dans la propriété 'query_builder' du champ.

Pour info voici mon fichier de config :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
orm:
        auto_generate_proxy_classes: %kernel.debug%
        #auto_mapping: true
        default_entity_manager: default
        entity_managers:
          default:
            metadata_cache_driver:  apc
            result_cache_driver:    apc
            query_cache_driver:     apc
            connection:             default
            mappings:
              MonBundle:  ~
              FOSUserBundle: ~