Zend_Db_Table_Abstract とデフォルトのスコープ
-
13-09-2019 - |
質問
Zend_Db_Table_Abstract ベースのモデルにデフォルトのスコープを追加する方法はありますか。
いくつかの条件をデフォルトとして使用してモデルをクエリできるようにしたいと考えています。
例えば
- 削除されました = false
- オーダー名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