我有一种方法可以将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