如何在 Symfony2 查询生成器中使用 SQL LEFT()?

How do I use SQL LEFT() in Symfony2 query builder?

这是使我的查询失败的行。

$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() return 出错了?使用查询生成器有不同的方法吗?

试着看看这个question. Otherwise, try the old school way! native-sql-with-doctrine

@Houssem Zitoun 的回答很好,我将其标记为答案,因为它与我的问题相关。然而这不是我使用的答案

我已经在 sql 中编写了我想使用的查询,所以我决定使用带有原则的自定义查询。它在这里解释了如何去做。 Symfony2 & Doctrine: Create custom SQL-Query