這是使我的查詢失敗的行。如何在Symfony2查詢生成器中使用SQL LEFT()?
$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()返回一個錯誤?有沒有一種不同的方式與查詢生成器做到這一點?
您將不得不實現您自己的DQL函數,請參閱[this](http://www.doctrine-project.org/2010/03/29/doctrine2-custom-dql-udfs.html) – LMS94
可能[教條LEFT mysql函數]的副本(http://stackoverflow.com/questions/9761748/doctrine-left-mysql-function) – chalasr