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

Метод eq класса Expr

Метод eq класса Expr создаёт выражение для сравнения поля на равенство заданному значению. Первым параметром передаётся имя поля или SQL-выражение, вторым - значение для сравнения. Результат работы метода можно передавать в методы where, andWhere и orWhere конструктора запросов QueryBuilder.

Синтаксис

$expr->eq(field, value)

Пример

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

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; class ArticleRepository extends EntityRepository { public function findActive(): array { $qb = $this->createQueryBuilder('a'); $qb->where( $qb->expr()->eq('a.status', ':status') ); $qb->setParameter('status', 'active'); return $qb->getQuery()->getResult(); } } ?>

Пример

Давайте выберем статьи, у которых поле views равно числу 100:

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; class ArticleRepository extends EntityRepository { public function findByViews(): array { $qb = $this->createQueryBuilder('a'); $qb->where( $qb->expr()->eq('a.views', ':views') ); $qb->setParameter('views', 100); return $qb->getQuery()->getResult(); } } ?>

Пример

Давайте объединим два условия равенства через логическое И:

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; class ArticleRepository extends EntityRepository { public function findPublished(): array { $qb = $this->createQueryBuilder('a'); $qb->where( $qb->expr()->andX( $qb->expr()->eq('a.status', ':status'), $qb->expr()->eq('a.published', ':published') ) ); $qb->setParameter('status', 'active'); $qb->setParameter('published', true); return $qb->getQuery()->getResult(); } } ?>

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

  • класс Expr,
    который создаёт выражения для QueryBuilder
  • метод neq,
    который создаёт условие неравенства
  • метод in,
    который создаёт условие вхождения в набор значений
  • метод isNull,
    который создаёт условие проверки на NULL
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить