Вопрос

Есть ли способ добавить область по умолчанию к модели, основанной на 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);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top