Zend_Db_Table_Abstract и область по умолчанию
-
13-09-2019 - |
Вопрос
Есть ли способ добавить область по умолчанию к модели, основанной на Zend_Db_Table_Abstract.
Я хочу иметь возможность запрашивать модель с некоторыми условиями, принятыми по умолчанию.
например ,
- удалено = ложь
- название заказа asc
Решение
Вы можете переопределить Zend_Db_Table_Abstract:: _fetch()
метод и измените сгенерированный Zend_Db_Table_Select
там перед извлечением строк из адаптера базы данных.Насколько я знаю, все fetch*
-методы и find()
в Zend_Db_Table_Abstract
сводимся к этому общему методу извлечения строк (помимо Zend_Db_Table_Abstract::fetchNew()
естественно), поэтому ваш измененный код будет вызываться каждый раз, когда строки извлекаются из базы данных.
/**
* Support method for fetching rows.
*
* @param Zend_Db_Table_Select $select query options.
* @return array An array containing the row results in FETCH_ASSOC mode.
*/
protected function _fetch(Zend_Db_Table_Select $select)
{
$select->where('deleted = false')->order('name asc');
return parent:: _fetch($select);
}
Не связан с StackOverflow