2011-08-09 55 views

回答

2

您可以使用此方法

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

其中$ DBTABLE是一个Zend_Db_Table类类

+0

谢谢:) ** setIntegrityCheck **方法究竟做了什么? –

+0

'setIntegrityCheck'允许'Zend_Db_Table_Select'选择它的初始表之外的行,所以根本不需要它:) –

10

的一个实例,因为@杰瑞克的回答并没有提到它...为了有效果:

LIKE '%{$searchTerm}%' 

你需要额外的改性剂添加到变量像这样:

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

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

可能看起来很明显,但采取了三次尝试,以使其正确。

+1

谢谢Rodrigo!你的回答只是节省了我的时间! – Roger

+1

如果此答案帮助您解决问题,请将其标记为已接受。谢谢 –