Symfony3:当3个实体相关时,如何获得所有付款的总和

时间:2017-10-13 09:13:13

标签: symfony doctrine

我有三个实体:

  • 公司
  • 发票
  • 付款

它的相关内容如下:公司有发票和发票有付款。

我想得到这样的东西:

获取所有公司并从公司所有发票中获得所有付款金额的总和。

最好的方法是什么?

此致

1 个答案:

答案 0 :(得分:1)

在您的存储库中创建一个自定义方法,类似于:

public function getCompaniesAndPaymentsSum()
{
    $sql = "SELECT company.name, SUM(payment.value)
            FROM company
            JOIN invoice on invoice.company_id = company.id
            JOIN payment on payment.invoice_id = invoice.id
            GROUP BY (company.name)";
    $connection = $this->em->getConnection();
    $stmt = $connection->executeQuery($sql);
    return $stmt->fetchAll();
}