Doctrine МЕЖДУ CURRENT_TIMESTAMP - PullRequest
       0

Doctrine МЕЖДУ CURRENT_TIMESTAMP

0 голосов
/ 29 января 2020

Я пытаюсь получить данные, используя doctrine от МЕЖДУ

$qb = $this->createQueryBuilder("E")
            ->select("E.id,E.publicationStatus,E.isArchived,E.isCancelled")
            ->where("E.publicationPlannedFromDate BETWEEN CURRENT_TIMESTAMP() - INTERVAL 5 MINUTE `AND` CURRENT_TIMESTAMP()");

    return $qb->getQuery()->getArrayResult();

Но его выдает ошибку

[Syntax Error] line 0, col 250: Error: Expected Doctrine\ORM\Query\Lexer::T_AND, got '5'

1 Ответ

0 голосов
/ 29 января 2020

Вы можете использовать пользовательские пользовательские функции DQL, определенные пользователем или просто методы выражения построителя запросов. Для второго вы можете изменить свой запрос следующим образом:

$qb->select("E.id, E.publicationStatus, E.isArchived, E.isCancelled")
    ->from('Entity', 'E')
    ->add("WHERE",
        $qb->expr()->between(
            "E.publicationPlannedFromDate",
            "DATE_SUB(CURRENT_TIMESTAMP(), 5, 'MINUTE')",
            "CURRENT_TIMESTAMP()"
        )
    );
...