DQL-过滤随机交易

时间:2018-12-07 10:29:29

标签: php database filter doctrine dql

我定义了两个“选择日期”字段,这些字段需要在随机选择的日期过滤交易,但似乎总是显示所有交易。

我的代码。

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();
}

除了需要根据选定日期进行过滤的那一部分之外,代码的每个部分似乎都可以正常工作。

0 个答案:

没有答案