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