Symfony의 단일 필드에 대한 다중 기준?
문제
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);
제휴하지 않습니다 StackOverflow