【发布时间】:2013-06-29 15:28:44
【问题描述】:
我是 Symfony2 的新手,我通过 QueryBuilder 和 Doctrine 2 成功构建了我的第一个连接。 可能这是一个愚蠢的问题,但无论是在线还是在 Symfony2 的方法中,我都找不到任何东西来理解连接子句“WITH”和“ON”之间的区别。
例如这是我的加入代码:
->leftJoin('EcommerceProductBundle:ProductData', 'pdata', 'WITH', 'prod.id = IDENTITY(pdata.product)')
效果很好,但如果我输入 ON 而不是 WITH 我会收到以下错误:
[语法错误] 第 0 行,第 200 列:错误:预期 Doctrine\ORM\Query\Lexer::T_WITH,得到了'ON'
为什么?我在对象中看到有 T_ON 和 T_WITH like join 子句,但它们的用法有什么区别?它们的用途是什么?
【问题讨论】:
-
根本不是一个愚蠢的问题。这是 Doctrine 文档的主要问题。没有参考,只有参考指南,不涵盖这一点和许多其他不明确之处。
标签: symfony doctrine-orm left-join query-builder