日期时间范围不会选择特定日期

时间:2020-10-01 10:46:16

标签: php symfony datetime doctrine-orm symfony4

我有一种方法可以将db中的结果从startDate返回到endDate,并在邮递员中传递类似的参数。

一切似乎都正常,但它会从数据库返回所有结果。

我认为问题可能出在参数上。

public function getInvoices($fromDate = null, $toDate = null)
{
    $query = $this->entityManager->getRepository(Invoice::class)
        ->createQueryBuilder('ur')
        ->select('ur')
        ->orderBy('ur.invoiceDate', 'ASC');

    if($fromDate) {
        $query
            ->andWhere('t.invoiceDate >= :startDate')
            ->setParameter('startDate', new \DateTime($fromDate));
    }

    if($toDate) {
        $query
            ->andWhere('t.invoiceDate <= :endDate')
            ->setParameter('endDate', new \DateTime($toDate));
    }

    return $query->getQuery()->getResult();
}

我在控制器中调用此方法,如:

$data = [];

$responseData = $this->invoiceService->getInvoices(
        @$this->data['startDate'],
        @$this->data['endDate']
    );

我通过邮递员传递了这两个参数,它返回了所有结果:

这是一张图片:here

0 个答案:

没有答案