¿Hay algún código de código abierto (o ejemplo) para Symfony2 que pueda filtrar cierto modelo usando múltiples parámetros? Un buen ejemplo de lo que estoy buscando se puede ver en esta página web de Trulia.Filtrando con symfony2
http://www.trulia.com/for_sale/30000-1000000_price/10001_zip/
http://www.trulia.com/for_rent/Chicago,IL/#for_rent/Chicago,IL/0-500_price/wd,dw_amenities/sm_dogs_pets"
http://www.trulia.com/for_rent/Chicago,IL/#for_rent/Chicago,IL/400-500_price/wd,dw_amenities
http://www.trulia.com/for_rent/Chicago,IL/#for_rent/Chicago,IL/wd,dw_amenities"
http://www.trulia.com/for_rent/Chicago,IL/#for_rent/Chicago,IL/400p_price/dw,cs_amenities
http://www.trulia.com/for_rent/Chicago,IL/#for_rent/Chicago,IL/1p_beds/1p_baths/400p_price/dw,cs_amenities
Observe cómo se construyen las URL al hacer clic en el formulario, supongo que está usando un controlador para todas estas rutas, ¿Cómo se hace ?. No creo que vaya a redirigir todas las rutas posibles a un controlador específico (como se muestra a continuación), ¿tal vez algún tipo de enrutamiento dinámico?
/**
* @Route("/for_rent/{state}/{beds}_beds/{bath}_bath/{mix_price}-{max_price}_price /{amenities_list}
* @Route("/for_rent/{state}/{mix_price}-{max_price}_price/{amenities_list}
* @Route("/for_rent/{state}/{bath}_bath/{mix_price}-{max_price}_price/{amenities_list}
* @Route("/for_rent/{state}/{mix_price}_price/{amenities_list}
* @Route("/for_rent/{state}/{beds}_beds/{bath}_bath/{amenities_list}
* ........
*/
public function filterAction($state, $beds, $bath, $min_price, $max_price ....)
{
....
}
Gracias.
anotaciones le permiten regular más de una vía, que es grande, pero eso no evita que escriba manualmente todas las combinaciones posibles para todos los parámetros del filtro, es decir, que tienen parámetros ABC todas las combinaciones posibles ruta será, ABC, AB, BC, AC, que es un dolor. No sé si la implementación de su propio enrutamiento permitirá este tipo de correspondencia dinámica de URL. – csg
Encontré una solución, muy simple/** * @Route ("/ search/{q}", requirements = {"q": ". +"}) * ........ */ q coincidirá todo hasta el final de la URL. Depende de usted analizar "q", más información http://symfony.com/doc/current/cookbook/routing/slash_in_parameter.html – csg