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

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

Метод lower класса Expr создаёт выражение DQL, которое приводит строковое значение к нижнему регистру. Метод принимает один параметр - строку или выражение, которое нужно преобразовать. Возвращается объект выражения, пригодный для использования в запросах Doctrine ORM.

Синтаксис

Expr::lower(string $expr)

Пример

Давайте создадим выражение, приводящее поле title к нижнему регистру:

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Query\Expr; class ArticleRepository extends EntityRepository { public function findByLowerTitle(string $title): array { $expr = new Expr(); $lowerExpr = $expr->lower('a.title'); return $this->createQueryBuilder('a') ->where($lowerExpr . ' = :title') ->setParameter('title', strtolower($title)) ->getQuery() ->getResult(); } } ?>

Пример

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

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Query\Expr; class ArticleRepository extends EntityRepository { public function searchByTitle(string $term): array { $expr = new Expr(); $lowerExpr = $expr->lower('a.title'); return $this->createQueryBuilder('a') ->where($expr->like($lowerExpr, $expr->lower(':term'))) ->setParameter('term', '%' . $term . '%') ->getQuery() ->getResult(); } } ?>

Пример

Давайте выведем результат работы метода lower в виде строки DQL:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Doctrine\ORM\Query\Expr; class ArticleController extends AbstractController { public function index(): Response { $expr = new Expr(); $res = $expr->lower('a.title'); return new Response($res); } } ?>

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

"LOWER(a.title)"

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

  • класс Expr,
    который создаёт выражения для запросов Doctrine ORM
  • метод upper,
    который приводит строку к верхнему регистру
  • метод like,
    который создаёт условие LIKE для поиска по шаблону
  • метод concat,
    который объединяет несколько строк в одну
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить