Symfony 有没有一种方法或插件可以将SQL方言配置为PhpStorm中的DQL?

Symfony 有没有一种方法或插件可以将SQL方言配置为PhpStorm中的DQL?,symfony,doctrine,phpstorm,dql,Symfony,Doctrine,Phpstorm,Dql,在PhpStorm中,我可以使用现有的SQL方言更改全局、项目或目录设置,但是有没有办法在PhpStorm中将SQL方言配置为Symfony/DQL,或者有没有办法检测到App:Panel是有效的实体,而不是表?(App:Panel表名为teu Panel) 我读了这篇文章,解释了我们必须添加一个Java插件,因为目前无法在PhpStorm上添加新的SQL方言 例如,这是PhpStorm抛出的错误: 无法理解应用程序和面板之间的:。它无法理解提供的表名(因为我提供了Symfony实体的名称)。

在PhpStorm中,我可以使用现有的SQL方言更改全局、项目或目录设置,但是有没有办法在PhpStorm中将SQL方言配置为Symfony/DQL,或者有没有办法检测到
App:Panel
是有效的实体,而不是表?(
App:Panel
表名为
teu Panel

我读了这篇文章,解释了我们必须添加一个Java插件,因为目前无法在PhpStorm上添加新的SQL方言

例如,这是PhpStorm抛出的错误:

无法理解应用程序和面板之间的
。它无法理解提供的表名(因为我提供了Symfony实体的名称)。

DQL不受支持

--观看此票证(明星/投票/评论),了解任何进展


您可以尝试将
App:Panel
视为占位符(类似于其中的描述)。但是我不知道它是否会有帮助(我没有真正使用Symfony/DQL,所以我自己无法测试它)

但我的建议是——将整个查询作为纯文本进行威胁。是的,没有语法突出显示和东西,但也不会显示错误

怎么做?一种方法是在字符串前放置特殊注释,例如

->query(/** @lang text */'SELECT ...');
或者完全禁用SQL的语言注入规则

或者尝试建议的方法--不支持自定义SQL检测语法(?)

DQL

--观看此票证(明星/投票/评论),了解任何进展


您可以尝试将
App:Panel
视为占位符(类似于其中的描述)。但是我不知道它是否会有帮助(我没有真正使用Symfony/DQL,所以我自己无法测试它)

但我的建议是——将整个查询作为纯文本进行威胁。是的,没有语法突出显示和东西,但也不会显示错误

怎么做?一种方法是在字符串前放置特殊注释,例如

->query(/** @lang text */'SELECT ...');
或者完全禁用SQL的语言注入规则


或者尝试一下建议的方法——自定义SQL检测语法(?):

不,这是不可能的,因为DQL使用实体php变量名而不是SQL列名。而且,这不是正确的DQL,至少不是我怎么知道的。。。不久前我写了一个很长的DQL示例,请仔细看看,希望它能有所帮助。(请小心,因为我在回答中无法使用php变量名,OP没有复制他的实体)谢谢@Preciel,但您的链接中似乎有错误。404错误。我在这里做了一个新的DQL示例。。。您可以检查……)非常感谢@Preciel,您的解决方案很有趣。我们团队的问题不是如何使用查询生成器,而是如何使用PhpStorm检测错误和警告。我们只做一些内部质量测试,不能更改源代码。应用程序非常大,有很多DQL代码。是的,我能理解。。。这只是供参考。。。别担心……;)不,这是不可能的,因为DQL使用实体php变量名而不是sql列名。而且,这不是正确的DQL,至少不是我怎么知道的。。。不久前我写了一个很长的DQL示例,请仔细看看,希望它能有所帮助。(请小心,因为我在回答中无法使用php变量名,OP没有复制他的实体)谢谢@Preciel,但您的链接中似乎有错误。404错误。我在这里做了一个新的DQL示例。。。您可以检查……)非常感谢@Preciel,您的解决方案很有趣。我们团队的问题不是如何使用查询生成器,而是如何使用PhpStorm检测错误和警告。我们只做一些内部质量测试,不能更改源代码。应用程序非常大,有很多DQL代码。是的,我能理解。。。这只是供参考。。。别担心……;)对不起,我迟了答复。我试过你的解决办法。但App:Panel并没有被检测为参数,可能是因为表名不能被视为参数。今晚我会做更多的测试,然后回来。有了你的替代解决方案,我找到了一种方法来检测App:Panel作为参数,在它上面没有检测到更多的错误,但是现在PhpStorm正在检测
c
别名作为错误。。。我认为避免这些错误是不可能的。很抱歉回答得太晚。我试过你的解决办法。但App:Panel并没有被检测为参数,可能是因为表名不能被视为参数。今晚我会做更多的测试,然后回来。有了你的替代解决方案,我找到了一种方法来检测App:Panel作为参数,在它上面没有检测到更多的错误,但是现在PhpStorm正在检测
c
别名作为错误。。。我认为避免这些错误是不可能的。