在使用 Doctrine Classes 时需要自定义查询时,有人可以为我提供几个使用/学习 DQL 与 SQL 的明确(事实支持)理由吗?
我发现如果我不能使用 ORM 的内置关系功能来实现某些事情,我通常会在扩展的 Doctrine 或 DoctrineTable 类中编写自定义方法。在这种方法中,用直接 SQL 编写所需的内容(使用 PDO 和适当的准备好的语句/注入保护等......)。DQL 似乎是一种额外的学习/调试/维护语言,但在最常见的情况下并没有提供足够令人信服的理由。DQL 似乎并不比 SQL 复杂得多,因此值得使用——事实上,我怀疑您是否可以在没有扎实的 SQL 理解的情况下有效地使用 DQL。大多数核心 SQL 语法移植在您将与 PHP 一起使用的最常见的数据库中都相当不错。
我错过/忽略了什么?我确信这是有原因的,但我想听听那些有意大量使用它的人,以及尝试使用纯 ole SQL 的好处。
我不是在寻找支持 ORM 的论据,而是在传统的 LAMP 设置(使用 mysql、postgres 等)中需要做一些超出核心“按关系获取”类型需求之外的事情时的 DQL