Mise en cache des requêtes PHQL
Le principe est le même que pour les modèles Phalcon (cf. chapitre Bases de données - Les modèles Phalcon - Mise en cache des résultats d’une requête). Pour mettre en cache les requêtes PHQL, il faut avant tout créer un service de cache (cf. chapitre Gestion du cache - Configuration).
Syntaxe de mise en cache d’une requête PHQL
$oRequete = $this->modelsManager->createQuery('<requête SQL>');
$oRequete->cache(
[
<tableau de paramètres du cache>
]
);
$aResultat = $oRequete->execute(
[
<tableau de données>
]
);
Exemple de mise en cache d’une requête PHQL
$oRequete = $this->modelsManager->createQuery('SELECT *
FROM HelloWorld\Models\Utilisateurs
WHERE prenom LIKE :prenom:');
$oRequete->cache(
[
'key' => 'utilisateurs_phsql',
'lifetime' => 14400,
]
);
$aResultat = $oRequete->execute(
[
...