क्या सिम्फनी 2 के लिए कोई खुला स्रोत (या उदाहरण) कोड है जो एकाधिक पैरामीटर का उपयोग करके कुछ मॉडल फ़िल्टर कर सकता है? मैं जो खोज रहा हूं उसका एक अच्छा उदाहरण इस ट्रुलिया वेब पेज पर देखा जा सकता है।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
नोट करें कि फ़ॉर्म में क्लिक करते समय यूआरएल कैसे बनाया जाता है, मुझे लगता है कि इन सभी मार्गों के लिए एक नियंत्रक का उपयोग कर रहा है, यह कैसे किया जाता है? मुझे नहीं लगता कि यह सभी संभावित मार्गों को एक विशिष्ट नियंत्रक, (नीचे दिखाया गया), शायद कुछ प्रकार की गतिशील रूटिंग पर पुनर्निर्देशित करेगा?
/**
* @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 ....)
{
....
}
धन्यवाद।
एनोटेशन, आप एक से अधिक मार्ग है, जो महान है मिलान करने के लिए अनुमति देते हैं, लेकिन उस से बचने नहीं करता आप फ़िल्टर के सभी पैरामीटर के लिए मैन्युअल रूप से सभी संभव संयोजनों लिखने के लिए मेरा मतलब है, एबीसी मापदंडों सभी संभव मार्ग संयोजन हो जाएगा हो रही है, एबीसी, एबी, बीसी, एसी, जो दर्द है। मुझे नहीं पता कि आपके अपने रूटिंग को कार्यान्वित करने से इस तरह के गतिशील यूआरएल मिलान की अनुमति मिल जाएगी। – csg
एक समाधान मिला, बहुत सरल/** * @ रूट ("/ खोज/{q}", आवश्यकताएं = {"q": "। +"}) * ........ */ q फिर यूआरएल के अंत तक सबकुछ मैच करेगा। यह आपके ऊपर "क्यू" पार्स करने के लिए है, अधिक जानकारी http://symfony.com/doc/current/cookbook/routing/slash_in_parameter.html – csg