我定义了两个“选择日期”字段,这些字段需要在随机选择的日期过滤交易,但似乎总是显示所有交易。
我的代码。
public function getTransactions(User $user, $currentMonth = false, $categoryId = null)
{
$query = $this->getMainRepository()
->createQueryBuilder('t')
->select('t')
->where('t.user = :user')
->setParameter('user', $user)
->orderBy('t.transactionDate', 'desc');
if($currentMonth) {
$query->andWhere('t.created > :date')
->setParameter('date', new \DateTime());
}
if($categoryId) {
$category = $this->getSecondRepository()->find($categoryId);
if($category) {
$query->andWhere('t.category = :category')
->setParameter('category', $category);
}
}
$query->getQuery();
}
除了需要根据选定日期进行过滤的那一部分之外,代码的每个部分似乎都可以正常工作。