Symfony2是否有任何開源(或示例)代碼可以使用多個參數過濾某個模型?在這個Trulia網頁上可以看到我正在尋找的一個很好的例子。用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
注意如何在表單中單擊時生成URL,我想對所有這些路由使用一個控制器,它是如何完成的? 我不認爲它會將所有可能的路線重定向到特定的控制器(如下所示),也許是某種動態路由?
/**
* @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 ....)
{
....
}
謝謝。
註解讓你匹配多於一個的路線,這是偉大的,但這並不能避免你寫手動將所有可能的組合爲所有濾波器參數,我的意思是,有ABC參數所有可能的路徑組合將是, ABC,AB,BC,AC,這是一種痛苦。我不知道是否實現自己的路由將允許這種動態URL匹配。 – csg
找到了一個解決方案,非常簡單/ ** * @Route(「/ search/{q}」,requirements = {「q」:「。+」}) * ........ */ q然後將匹配一切,直到URL的結尾。然後由你來解析「q」,更多信息http://symfony.com/doc/currentbook/routing/slash_in_parameter.html – csg