在PhpStorm中有没有办法或插件将SQL方言配置为DQL?

时间:2018-01-25 10:17:57

标签: symfony doctrine phpstorm dql

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

我读了这个answer,它解释了我们必须添加一个Java插件,因为它目前无法在PhpStorm上添加新的SQL Dialect。

例如,这是PhpStorm抛出的错误: enter image description here

App和Panel之间的:未被理解。它无法理解提供的表名(因为我提供了Symfony实体的名称)。

1 个答案:

答案 0 :(得分:3)

不支持DQL。

https://youtrack.jetbrains.com/issue/WI-9948 - 观看此机票(星级/投票/评论)以获得有关任何进展的通知。

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

我可能会建议 - 将整个查询视为纯文本。是的,没有语法突出显示和填充但也不会显示错误。

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

->query(/** @lang text */'SELECT ...');

或者完全禁用SQL的语言注入规则。

或者尝试一下建议的内容in this comment - 自定义SQL检测语法(?):https://gist.github.com/willemnviljoen/d20ad8ad0cc365a7e80744328246610f