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

Метод orWhere

Метод orWhere класса QueryBuilder добавляет условие через OR в секцию WHERE запроса. Первым параметром передаётся строка условия, например 'u.status = :status'. Если до этого уже были добавлены условия через where или andWhere, то новое условие объединяется с ними логическим оператором OR.

Синтаксис

orWhere(string $predicate, mixed $value = null): self

Пример

Давайте выберем статьи, у которых status равен 'active' или views больше 100:

<?php namespace AppRepository; use AppEntityArticle; use DoctrineBundleDoctrineBundleRepositoryServiceEntityRepository; use DoctrinePersistenceManagerRegistry; class ArticleRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Article::class); } public function findActiveOrPopular(): array { $qb = $this->createQueryBuilder('a'); $qb->where('a.status = :status') ->orWhere('a.views > :views') ->setParameter('status', 'active') ->setParameter('views', 100); return $qb->getQuery()->getResult(); } } ?>

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

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

Пример

Давайте объединим несколько условий через orWhere для поиска по названию или тексту:

<?php namespace AppRepository; use AppEntityArticle; use DoctrineBundleDoctrineBundleRepositoryServiceEntityRepository; use DoctrinePersistenceManagerRegistry; class ArticleRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Article::class); } public function search(string $query): array { $qb = $this->createQueryBuilder('a'); $qb->where('a.title = :query') ->orWhere('a.text = :query') ->setParameter('query', $query); return $qb->getQuery()->getResult(); } } ?>

Результат выполнения кода для $query = 'abcde':

["abcde"]

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

  • класс QueryBuilder,
    который строит DQL-запросы
  • метод where,
    который добавляет первое условие в секцию WHERE
  • метод andWhere,
    который добавляет условие через AND
  • метод setParameter,
    который привязывает значение к параметру запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить