gpt4 book ai didi

mysql - Symfony2,加入 doctrine2 或 sql

转载 作者:行者123 更新时间:2023-11-29 06:59:25 26 4
gpt4 key购买 nike

我有一个关于 symfony2 的问题。

我有一个项目,我正在使用数据库。我大部分使用 Doctrine2 和实体类。我喜欢实体类对象数据库的东西,非常方便等等。

我的问题是,有没有办法在 symfony 中执行正常的 SQL?当我尝试使用标准 SQL 时,我总是遇到异常。我在连接 doctrine2 时遇到问题,所以我宁愿为此使用普通的 SQL。

我的连接在 SQL 中看起来像这样:

SELECT DISTINCT Document . * 
FROM Document
INNER JOIN DocumentGruppe ON Document.id = DocumentGruppe.dokId
INNER JOIN UserGruppe ON DocumentGruppe.gruppenId = UserGruppe.gruppenId
WHERE UserGruppe.userId =9

末尾的 where 子句只是为了测试。如果我将 doctrine 与它的 DQL 一起使用,它总是说有一个异常(exception):The Variable DocumentGruppe was not defined before

这是我的 DQL 查询:

    $test = $em->createQuery(
'SELECT DISTINCT d
FROM AcmeDocumentBundle:Document d
INNER JOIN DocumentGruppe dg ON d.id = dg.dokId
INNER JOIN UserGruppe ug ON dg.gruppenId = ug.gruppenId
WHERE ug.userId =9
'
);

有没有人知道使用这个 doctrine2 东西来处理连接的变通方法或方法?

最佳答案

每个 JOINED 表都必须在映射中声明为关联...您的实体是如何定义的?向我们展示您的映射文件(如果是注释,则为 Document.php,如果是 XMl 或 YAML,则为 Resources/config/doctrine/document;xml 或 yml)。

您的请求将是这样的:

$test = $em->createQuery(
'SELECT DISTINCT d
FROM AcmeDocumentBundle:Document d
INNER JOIN d.documentGruppen dg
INNER JOIN d.userGruppen ug
WHERE ug.userId =9
'
);

关于mysql - Symfony2,加入 doctrine2 或 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10997949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com