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

Метод resetDQLPart

Метод resetDQLPart принадлежит классу QueryBuilder и удаляет ранее добавленную часть DQL-запроса. Первым параметром передаётся имя части запроса: 'select', 'from', 'where', 'join', 'orderBy', 'groupBy', 'having', 'set' и другие. Если параметр не указан, метод сбрасывает все части запроса сразу.

Синтаксис

$qb->resetDQLPart($part);

Пример

Давайте создадим запрос с условием, а затем сбросим часть 'where' и построим его заново:

<?php namespace AppRepository; use DoctrineBundleDoctrineBundleRepositoryServiceEntityRepository; use DoctrineORMEntityManagerInterface; use DoctrineORMPersistenceManagerRegistry; class ArticleRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Article::class); } public function findFiltered(): array { $qb = $this->createQueryBuilder('a'); $qb->where('a.integer > 1'); $qb->resetDQLPart('where'); $qb->where('a.integer > 3'); return $qb->getQuery()->getResult(); } } ?>

В результате условие 'a.integer > 1' будет удалено, а запрос выполнится с условием 'a.integer > 3'.

Пример

Давайте сбросим сразу все части запроса, не передавая параметр:

<?php namespace AppRepository; use DoctrineBundleDoctrineBundleRepositoryServiceEntityRepository; use DoctrinePersistenceManagerRegistry; class ArticleRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Article::class); } public function findClean(): array { $qb = $this->createQueryBuilder('a'); $qb->select('a.string') ->where('a.boolean = true') ->orderBy('a.datetime', 'DESC'); $qb->resetDQLPart(null); $qb->select('a') ->from(Article::class, 'a'); return $qb->getQuery()->getResult(); } } ?>

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

["article 1", "article 2", "article 3"]

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

  • класс QueryBuilder,
    который строит DQL-запросы
  • метод where,
    который добавляет условие в запрос
  • метод getDQL,
    который возвращает итоговую строку DQL
  • метод getQuery,
    который возвращает объект Query для выполнения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить