代码之家  ›  专栏  ›  技术社区  ›  Jon Mooring

symfony中单个字段的多个标准?

  •  2
  • Jon Mooring  · 技术社区  · 17 年前

    我试图在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);
      }
    

    有没有一种方法可以定义每个字段不止一个?

    1 回复  |  直到 7 年前
        1
  •  3
  •   MarkusQ    17 年前

    对于既有限制又有限制的情况,您需要这样做:

    $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);
    
    推荐文章