2011-08-09 12 views
2

にはどうすればZend_Db_Selectのクラスを使用して、このクエリZend_Db_SelectのLIKE句

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

を設定することができますか?

答えて

2

@ Jerecの答えはそれを言及しなかったので...の効果を持つために$ DBTABLEはクラスZend_Db_Table

+0

ありがとうございます。** setIntegrityCheck **メソッドは正確に何ですか? –

+0

'setIntegrityCheck'は、' Zend_Db_Table_Select'が初期テーブルの外にある行を選択することができるので、まったく必要ありません:) –

10

のインスタンスですあなたはこの方法

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

を使用することができます。

LIKE '%{$searchTerm}%' 

あなたは、このようなのような変数に余分な修飾子を追加する必要があります:

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

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

明白に思えるかもしれませんが、それを正しくしようとする3つの試みがありました。

+1

ありがとうロードトリップ!あなたの答えがちょうど私の時間を節約しまし – Roger

+1

この回答が問題の解決に役立つ場合は、それを親切にマークしてください。ありがとう –