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

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

Метод lt класса Expr создаёт выражение сравнения "меньше" (less than) для использования в конструкторе запросов Doctrine. Он принимает два аргумента: левую и правую часть сравнения. В качестве аргументов могут выступать имена полей сущности, числа, строки или другие выражения Expr. Метод возвращает объект Comparison, который затем передаётся в методы where, andWhere или orWhere построителя запросов.

Синтаксис

$expr->lt($left, $right)

Пример

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

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

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

["article 1", "article 2"]

Пример

Давайте сравним два поля одной сущности: выберем записи, где createdAt меньше updatedAt:

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Query\Expr; class ArticleRepository extends EntityRepository { public function findModified(): array { $expr = new Expr(); $qb = $this->createQueryBuilder('a'); $qb->where($expr->lt('a.createdAt', 'a.updatedAt')); return $qb->getQuery()->getResult(); } } ?>

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

["article", "user"]

Пример

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

<?php namespace App\Repository; use App\Entity\Article; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Query\Expr; class ArticleRepository extends EntityRepository { public function findInRange(): array { $expr = new Expr(); $qb = $this->createQueryBuilder('a'); $qb->where($expr->andX( $expr->lt('a.views', 100), $expr->gt('a.views', 10) )); return $qb->getQuery()->getResult(); } } ?>

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

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

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

  • класс Expr,
    который создаёт выражения для DQL-запросов
  • метод gt,
    который создаёт условие "больше"
  • метод lte,
    который создаёт условие "меньше или равно"
  • метод eq,
    который создаёт условие равенства
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить