Php query - фильтр по дате

Я пытаюсь написать запрос в моем проекте Symfony, где мне нужно выбрать поля, в которых я случайным образом выбираю даты для фильтрации формы данных транзакции db.

public function getFilter($startDate, $finalDate)
{
    $qb = new \DateTime();

    $initialDate = $this->getTransactionRepository()
        ->createQueryBuilder('d')
        ->select('sum(abs(d.donationAmount))')
        ->where($qb->expr()->between('s.date',':initialDate',':finalDate'))
        ->setParameter('initialDate', $startDate)
        ->setParameter('finalDate', $finalDate)
        ->getQuery()
        ->getSingleScalarResult();

    return $initialDate;
}

Первая ошибка, с которой я столкнулся, это

$qb->expr() as undefined method.

Что ж, DateTime не предоставляет никакого метода под названием expr().

B001ᛦ 27.11.2018 14:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Почему бы просто не использовать это так:

        ->where('s.date BETWEEN :initialDate AND :finalDate')

Мои знания о Symfony ограничены, но DateTime на самом деле не является классом для построения запросов, если вы спросите меня.

Другие вопросы по теме