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

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

Метод upper класса Expr приводит строковое значение к верхнему регистру. Он используется в DQL-запросах Doctrine для преобразования регистра символов прямо на уровне базы данных. Первым параметром передаётся выражение или имя поля, которое нужно преобразовать.

Синтаксис

Expr::upper(string $expr)

Пример

Давайте создадим QueryBuilder и приведём значение поля title к верхнему регистру:

<?php namespace App\Repository; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Query\Expr; class ArticleRepository { private EntityManagerInterface $em; public function __construct(EntityManagerInterface $em) { $this->em = $em; } public function findUpperTitles(): array { $qb = $this->em->createQueryBuilder(); $qb->select(new Expr()->upper('a.title') . ' AS upperTitle') ->from('App\Entity\Article', 'a'); return $qb->getQuery()->getResult(); } } ?>

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

[["upperTitle" => "HELLO"], ["upperTitle" => "ARTICLE"]]

Пример

Давайте используем метод upper в условии where для поиска без учёта регистра:

<?php namespace App\Repository; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Query\Expr; class ArticleRepository { private EntityManagerInterface $em; public function __construct(EntityManagerInterface $em) { $this->em = $em; } public function findByTitle(string $title): array { $expr = new Expr(); $qb = $this->em->createQueryBuilder(); $qb->select('a') ->from('App\Entity\Article', 'a') ->where($expr->eq($expr->upper('a.title'), $expr->upper(':title'))) ->setParameter('title', $title); return $qb->getQuery()->getResult(); } } ?>

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

[["id" => 1, "title" => "hello"]]

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

  • класс Expr,
    который создаёт выражения для QueryBuilder
  • метод lower,
    который приводит строку к нижнему регистру
  • метод concat,
    который объединяет строки
  • метод length,
    который возвращает длину строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить