0
我正在查詢生成器中工作,其目的是返回經銷商付款的排名。經銷商通過非外鍵列(affiliateCode)與客戶進行關聯,因此我需要將此聯接與依賴於此非關鍵聯接的實體列表相關聯。加入取決於第二個非相關的加入,學說2
結果我最終這樣但它不工作。雖然沒有錯誤拋出。
$queryBuilder = $this->getEntityManager()->createQueryBuilder();
$queryBuilder->select('SUM(pay.value) as total_points, cli.id as client_id')
->from('Application\Model\Payment', 'pay')
->innerJoin('pay.subscription', 'sub')
->innerJoin('sub.client', 'representative')
->innerJoin(
'representative.userCollection',
'seller',
'WITH',
'seller.affiliateCode = cli.affiliateCode'
)
->innerJoin('seller.clientCollection', 'cli')
->where(
'
pay.status = :donePaymentStatus
AND representative.affiliateCode IS NOT NULL
'
)
->groupBY('cli.id')
->orderBY('total_points', 'DESC');
$queryBuilder->setParameters([
'donePaymentStatus' => PaymentStatus::DONE,
]);
如果我想要做的事不可能通過連接,你能否提出一個替代方案。也許嵌套查詢。
如果我的內心改變加入與左非外鍵連接,我得到的結果,但在CLI實體遺失。 ''''''''''''''''''''''''''''''''''''' –
您是否試圖將其從查詢構建器手中取出並將其作爲DQL查詢編寫?可能會強調一兩個問題。 – Ragdata