РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
73 of 258 menu

Метод useResultCache

Метод useResultCache класса Query включает или выключает кэширование результата запроса. Первым параметром передаётся флаг включения кэша, вторым - время жизни кэша в секундах, третьим - идентификатор кэша. Метод возвращает сам объект Query, что позволяет строить цепочки вызовов.

Синтаксис

$query->useResultCache(bool $cache, ?int $lifetime = null, ?string $id = null)

Пример

Давайте включим кэширование результата запроса на 3600 секунд:

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(EntityManagerInterface $em): Response { $query = $em->createQuery('SELECT a FROM App\Entity\Article a'); $query->useResultCache(true, 3600, 'articles_list'); $res = $query->getResult(); return new Response(count($res)); } } ?>

Результат выполнения кода:

3

Пример

Давайте отключим кэширование результата запроса:

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(EntityManagerInterface $em): Response { $query = $em->createQuery('SELECT a FROM App\Entity\Article a'); $query->useResultCache(false); $res = $query->getResult(); return new Response(count($res)); } } ?>

Результат выполнения кода:

3

Смотрите также

  • класс Query,
    который представляет запрос Doctrine
  • метод getResult,
    который возвращает результат запроса
  • метод setMaxResults,
    который ограничивает число возвращаемых строк
  • метод setHint,
    который задаёт подсказку для запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить