1

table_method でカスタム フィルターを使用してクエリを拡張したいと考えています。残念ながら、メソッド内からフィールドの値にアクセスする方法がわかりません。SF 1.4 /w Doctrine 1.2 を使用しています

4

1 に答える 1

1

doBuildQuery の filterForm メソッドを変更する必要があると思います。

任意の filterForm クラスで、次のことができます。

public doBuildQuery(array $values) {
    $q = parent::doBuildQuery($values);

    if($values['....']) ... {
       $q->addWhere($q->getRootAlias().".column = ?",$values['...']);
    }

    return $q; 
}

このメソッドは、バックエンドで生成されたモジュールから自動的に呼び出されるメソッドです。別のウィジェットを追加する場合は、configure() メソッドで行い、doBuildQuery() で値を処理します。

于 2012-09-23T15:22:22.020 に答える