2013-12-13 27 views
2

我使用Doctrine2和QueryBuilder。我需要有像表達式(ABB的\實體\表選擇oneval)* sometable.amount /交換如何在QueryBuilder的addSelect中使用子查詢進行乘法

$qb=$this->entityManager->createQueryBuilder(); 
$qb->addSelect('p.amount*(select crr.rateusd from 
Application\DBUtils\Entities\Currency 
where crr.code=c.currency)/25 as amountselected'); 

[語法錯誤] 0行,列241:錯誤:預期文字,得到了 '選擇'

謝謝

+0

您是否找到合適的解決方案@Konstantin Vahrushev? – webDEVILopers

+0

@webDEVILopers 我不得不用join來替換子查詢。因此,我有: ** $ qb-> addSelect('p.amount * curr.rateusd as amountselected') - > leftJoin('Application \ DBUtils \ Entities \ Currency','curr',\ Doctrine \ ORM \ Query \ Expr \ Join :: WITH,'c.currency = curr.code') \t - > leftJoin('Application \ DBUtils \ Entities \ Customer','c',\ Doctrine \ ORM \ Query \ Expr \加入:: WITH,'p.customerid = c.id'); ** –

回答

相關問題