【发布时间】:2011-08-09 10:13:09
【问题描述】:
如何设置此查询
SELECT city_id FROM cities WHERE city_name LIKE "%Vicenza%"
使用 Zend_Db_Select 类?
【问题讨论】:
标签: zend-framework zend-db zend-db-select
如何设置此查询
SELECT city_id FROM cities WHERE city_name LIKE "%Vicenza%"
使用 Zend_Db_Select 类?
【问题讨论】:
标签: zend-framework zend-db zend-db-select
由于@Jerec的回答没有提到...为了达到以下效果:
LIKE '%{$searchTerm}%'
您需要将额外的修饰符添加到变量中,如下所示:
// Correct way
->where("city_name LIKE ?", "%{$searchTerm}%")
// Wrong ways
->where("city_name LIKE %?%", $searchTerm)
->where("city_name LIKE '%?%'", $searchTerm)
可能看起来很明显,但我尝试了 3 次才正确。
【讨论】:
你可以用这个方法
$select = $dbTable->select()
->from('cities', 'city_id')
->where('city_name LIKE ?', $searchTerm);
其中 $dbTable 是 Zend_Db_Table 类的一个实例
【讨论】:
setIntegrityCheck 允许 Zend_Db_Table_Select 选择其初始表之外的行,因此您根本不需要它 :)