質問

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);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top