【问题标题】:Addition and Subtraction with Query Builder Doctrine ORM 2Query Builder Doctrine ORM 2 的加法和减法
【发布时间】:2015-08-17 16:43:50
【问题描述】:

我有一个交易表,其中包含我的用户进行的交易(存款)列表。

ID |用户 ID |信用 |借方|状态

1 | 1 |5 |1

2 | 1 |12 |1

3 | 1 |8 |1

要计算每个用户的当前余额,我需要将所有贷方的总和减去所有借方的总和。

MySql 语句是这样的:

SELECT SUM(Credit) - SUM(Debit) as Balance FROM Transactions WHERE user_id = 1 ANS status = 1;

如何在 QB 中做到这一点?

【问题讨论】:

    标签: doctrine-orm doctrine-query


    【解决方案1】:

    这个解决起来比较简单,这是我使用 DQL 返回我的用户帐户余额的最终函数:

    public function getUserBalance($userObject)
    {
        return $this->transactionRepository->createQueryBuilder('u')
            ->add('select','SUM(u.credit) - SUM(u.debit)')
            ->where('u.status = :status')
            ->andWhere('u.user = :userObject')
            ->setParameter('status' , 1)
            ->setParameter('userObject' , $userObject)
            ->getQuery()
            ->getSingleScalarResult();
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 2013-07-04
      • 1970-01-01
      相关资源
      最近更新 更多