Zend_Db_Select LIKE子句

时间:2011-08-09 10:13:10

标签: zend-framework zend-db zend-db-select

如何设置此查询

SELECT city_id FROM cities WHERE city_name LIKE "%Vicenza%"

使用 Zend_Db_Select 类?

2 个答案:

答案 0 :(得分:10)

因为@ Jerec的答案没有提到它......为了产生以下效果:

LIKE '%{$searchTerm}%'

您需要将额外的修饰符添加到变量中,如下所示:

// Correct way
->where("city_name LIKE ?", "%{$searchTerm}%")

// Wrong ways
->where("city_name LIKE %?%", $searchTerm)
->where("city_name LIKE '%?%'", $searchTerm)

可能看起来很明显,但我尝试了三次才能做到正确。

答案 1 :(得分:2)

您可以使用此方法

   $select = $dbTable->select()
    ->from('cities', 'city_id')
    ->where('city_name LIKE ?', $searchTerm);

其中$ dbTable是Zend_Db_Table类的实例