criterios múltiples para un solo campo en Symfony?
Pregunta
Estoy tratando de definir varios criterios para un solo campo en Symfony, pero cada vez que definen un segundo criterio, se sobrescribe la anterior. Aquí es un ejemplo de que mi código
# 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);
}
¿Hay una manera de definir más de uno por cada campo?
Solución
En el caso de que usted tiene dos límites, que tiene que hacer algo como esto:
$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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow