我试图在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); }
有没有一种方法可以定义每个字段不止一个?
对于既有限制又有限制的情况,您需要这样做:
$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);