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

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

Метод lte класса Expr создаёт выражение сравнения "меньше или равно" (less than or equal). Он принимает два параметра: имя поля и значение для сравнения. Результат работы метода можно использовать в методах where, andWhere и orWhere класса QueryBuilder.

Синтаксис

public function lte(string $field, mixed $value): Comparison

Пример

Давайте выберем статьи, у которых поле id меньше или равно 3:

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

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

[Article { id: 1 }, Article { id: 2 }, Article { id: 3 }]

Пример

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

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

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

[Article { id: 1, createdAt: "2023-12-15" }, Article { id: 2, createdAt: "2023-12-31" }]

Пример

Давайте скомбинируем условие "меньше или равно" с другим условием через andWhere:

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

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

[Article { id: 1, published: true }, Article { id: 3, published: true }]

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

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