我试图将方法添加到教条库
public function getOpenedImport(Uftts $fattura){
$dql = "SELECT F.importoFattura*C.segnoNumerico - (SELECT SUM(I.importo*C2.segnoNumerico)
FROM MyAppDomain:Incas I
INNER JOIN MyAppDomain:Cjcau AS C2 ON C2.codice = I.causale
WHERE I.annoDocumento = F.annoDocumento AND I.numeroDocumento = F.numeroDocument)
FROM MyAppDomain:Uftts F
INNER JOIN MyAppDomain:Cjcau C ON C.codice = F.causale
WHERE F.annoDocumento = :annoDocumento AND F.numeroDocumento = :numeroDocumento";
$query = $this->getEntityManager()->createQuery($dql);
$query->setParameters(['annoDocumento' => $fattura->getAnnoDocumento(),
'numeroDocumento' => $fattura->getNumeroDocumento()]);
return $query->getSingleScalarResult();
}
如果在我的Sql Server 2008上执行此查询,则返回预期结果,但使用doctrine i get
错误:预期的文字,得到了' SELECT'
我无法找出错误。
答案 0 :(得分:4)
$dql
变量无效DQL。我不确定如何使其有效。
您可以编写纯SQL并运行
$this->getEntityManager()->getConnection()->executeQuery($query, $params)
它是PDO的包装器,因此您将获得与执行简单PDO查询相同的结果。