2


1

私はsymfonyの単一のフィールドに対して複数の基準を定義しようとしていますが、2番目の基準を定義するたびに前のものを上書きします。 これが私のコードの例です。

#検索結果を取得するためのクエリを作成します。$ c = new Criteria();

#($ request-> getPostParameter( 'price_from')> 0){$ c-> add(HomeModelPeer :: PRICE、$ request-> getPostParameter( 'price_from')、Criteria :: GREATER_EQUAL); }

#($ request-> getPostParameter( 'price_to')> 0){$ c-> add(HomeModelPeer :: PRICE、$ request-> getPostParameter( 'price_to')、Criteria :: LESS_EQUAL); }

フィールドごとに複数定義する方法はありますか?

1 Answer


3


両方の制限がある場合は、次のようにする必要があります。

$ c = new Criteria(); $ c2 = $ c  - > getNewCriterion(HomeModelPeer :: PRICE、$ request-> getPostParameter( 'price_from')、条件::: GREATER_EQUAL); $ c2  - > addAnd($ c  - > getNewCriterion(HomeModelPeer :: PRICE、$ request-> getPostParameter( 'price_to')、Criteria :: LESS_EQUAL)); $ c-> add($ c2);