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

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

Метод min класса Expr создаёт выражение для получения минимального значения из набора значений или поля. Он часто используется в конструкторе запросов Doctrine для поиска наименьшего значения в колонке таблицы. Первым параметром передаётся выражение или строка с именем поля, по которому нужно найти минимум.

Синтаксис

$expr->min($expression)

Пример

Давайте найдём минимальное значение поля price в таблице товаров. Создадим запрос через QueryBuilder и выведем результат:

<?php namespace App\Repository; use App\Entity\Product; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; class ProductRepository extends EntityRepository { public function findMinPrice(): int { $qb = $this->createQueryBuilder('p'); $qb->select($qb->expr()->min('p.price')); return (int) $qb->getQuery()->getSingleScalarResult(); } } ?>

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

150

Пример

Давайте найдём минимальное значение среди нескольких выражений. В этом примере сравним два поля price и discountPrice с помощью метода min:

<?php namespace App\Repository; use App\Entity\Product; use Doctrine\ORM\EntityRepository; class ProductRepository extends EntityRepository { public function findMinOfTwoFields(): int { $qb = $this->createQueryBuilder('p'); $qb->select($qb->expr()->min('p.price', 'p.discountPrice')); return (int) $qb->getQuery()->getSingleScalarResult(); } } ?>

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

120

Пример

Давайте используем метод min вместе с группировкой. Найдём минимальную цену для каждой категории товаров:

<?php namespace App\Repository; use App\Entity\Product; use Doctrine\ORM\EntityRepository; class ProductRepository extends EntityRepository { public function findMinPricePerCategory(): array { $qb = $this->createQueryBuilder('p'); $qb->select('p.category', $qb->expr()->min('p.price') . ' AS min_price') ->groupBy('p.category'); return $qb->getQuery()->getArrayResult(); } } ?>

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

[["category" => "abcde", "min_price" => 100], ["category" => "user", "min_price" => 200]]

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

  • класс Expr,
    который предоставляет методы для построения выражений
  • метод max,
    который возвращает максимальное значение
  • метод avg,
    который вычисляет среднее значение
  • метод sum,
    который вычисляет сумму значений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить