多重标准symfony的单场?

问题描述 投票:2回答:1

我试图定义多个标准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);
  }

有没有一种方法来定义每场不止一个?

php symfony1 propel
1个回答
3
投票

对于您同时拥有极限的情况下,你需要做的是这样的:

$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);
© www.soinside.com 2019 - 2024. All rights reserved.