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

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

Метод isNull класса Expr создаёт выражение для проверки того, что значение указанного поля равно NULL. Метод принимает один параметр - имя поля или выражение, которое нужно проверить. Результат обычно используется в методах where, andWhere или orWhere объекта QueryBuilder.

Синтаксис

$expr->isNull(string $field)

Пример

Давайте выберем все статьи, у которых поле deletedAt равно NULL, то есть не удалённые:

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\Persistence\ManagerRegistry; class ArticleRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Article::class); } public function findActive(): array { $qb = $this->createQueryBuilder('a'); $qb->where($qb->expr()->isNull('a.deletedAt')); return $qb->getQuery()->getResult(); } } ?>

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

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

Пример

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

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\Persistence\ManagerRegistry; class ArticleRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Article::class); } public function findPublished(): array { $qb = $this->createQueryBuilder('a'); $qb->where($qb->expr()->isNull('a.deletedAt')); $qb->andWhere($qb->expr()->eq('a.status', ':status')); $qb->setParameter('status', 'published'); return $qb->getQuery()->getResult(); } } ?>

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

["article 1", "article 3"]

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

  • класс Expr,
    который создаёт выражения для Query Builder
  • метод isNotNull,
    который проверяет значение на NOT NULL
  • метод eq,
    который сравнивает значение с указанным
  • метод andX,
    который объединяет несколько условий через AND
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить