这是使我的查询失败的行。
$query = $query->where('a.field LIKE :keyword OR LEFT(a.otherfield, 3) = LEFT(:keyword, 3)');
我收到此错误:
[Syntax Error] line 0, col 104: Error: Expected known function, got 'LEFT'
此SQL代码有效:
SELECT * FROM `table`
WHERE field LIKE 'searchterm'
OR LEFT(`otherfield`, 3) = LEFT('searchterm', 3)
为什么LEFT()会返回错误?使用查询构建器有不同的方法吗?
答案 0 :(得分:1)
尝试查看此question。否则,尝试旧学校的方式! native-sql-with-doctrine
答案 1 :(得分:0)
@Houssem Zitoun的答案很好,我将其标记为答案,因为它与我的问题相关。然而,这不是我使用的答案
我已经用sql编写了我想要使用的查询,所以我决定使用带有教义的自定义查询。它在这里解释了如何做到这一点。 Symfony2 & Doctrine: Create custom SQL-Query