Я думаю, что вам не нужно расширять Zend_Db_Table_Select
. Вы можете сделать то, что вы ищете, только расширив Zend_Db_Table_Abstract
на My_Db_Table_Abstract
, который будет распространяться и на все ваши модели. В этом абстрактном классе вы расширите значение по умолчанию select()
, которое возвращает Zend_Db_Table_Select
, и, прежде чем возвращать его, вы просто добавите к нему предложение where.
Таким образом, каждый раз, когда вы будете вызывать select с помощью $myModel -> select()
, он уже будет содержать ваше предложение where.
abstract class My_Db_Table_Abstract extends Zend_Db_Table_Abstract
{
public function select($withFromPart = self::SELECT_WITHOUT_FROM_PART)
{
$select = parent::select($withFromPart);
# Retreive $admin_user_city_id
$select -> where('u.city_id = ?', $admin_user_city_id);
return $select;
}
}
Конечно, это также означает, что вы сделали правильное соединение с вашей таблицей u
где-то в зависимости от используемой модели.