2009-04-10 7 views
2

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

# build query to fetch search results 
    $c = new Criteria(); 

    # set minimum price 
    if($request->getPostParameter('price_from') > 0) 
    { 
    $c->add(HomeModelPeer::PRICE, 
      $request->getPostParameter('price_from'), 
      Criteria::GREATER_EQUAL); 
    } 

    # set maximum price 
    if($request->getPostParameter('price_to') > 0) 
    { 
    $c->add(HomeModelPeer::PRICE, 
      $request->getPostParameter('price_to'), 
      Criteria::LESS_EQUAL); 
    } 

複数のフィールドを定義する方法はありますか?あなたは両方の制限がある場合を

答えて

2

、あなたはこのような何かを実行する必要があります。

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

ありがとうございました。これはまさに私が探していたものです。 –

関連する問題