Zend_Db_Select LIKE предложение - PullRequest
2 голосов
/ 09 августа 2011

Как мне задать этот запрос

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

с использованием класса Zend_Db_Select ?

Ответы [ 2 ]

10 голосов
/ 15 ноября 2012

Поскольку в ответе Джерека об этом не упоминалось ..., чтобы получить эффект:

LIKE '%{$searchTerm}%'

Вам необходимо добавить дополнительные переменные в переменную, например:

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

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

Может показаться очевидным, но мне понадобилось три попытки сделать все правильно.

2 голосов
/ 09 августа 2011

Вы можете использовать этот метод

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

где $ dbTable - это экземпляр класса Zend_Db_Table

...