如何在 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
这是使我的查询失败的行。
$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