doctrine-orm - 错误:预期文字,得到“选择”
问题描述
我正在尝试将方法添加到学说存储库
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 上执行此查询会返回预期结果,但使用我得到的学说
错误:预期文字,得到“选择”
我不知道出了什么问题。
解决方案
$dql
变量不是有效的 DQL。我不知道如何使它也有效。
您可以编写简单的 SQL 并运行
$this->getEntityManager()->getConnection()->executeQuery($query, $params)
它是 PDO 的包装器,因此您将获得类似于执行简单 PDO 查询的结果。
推荐阅读
- python - 如何使用 python 获取“profile_pic_id”
- android - 无法获取真实文件路径 - Android Oreo 8+
- javascript - 带有可点击链接的剑道网格
- vb.net - 是否可以在 VB.net 中测试两种类型是否具有相同的未知继承?
- vb.net - VB.NET 如何正确循环遍历结果集
- java - Spring 未从属性文件加载 AWS-SNS 凭证
- c# - 从 PredicateBuilder 中剥离字符以提高搜索准确性
- javascript - 使用自定义 `tslint` 规则,无需从 typescript 编译
- audio - 从 Arduino 中的 FFT 检测特定模式
- sql - 如果类型为“10”,则不显示客户名称“a”