2017-02-28 170 views
1

我想生成一个url,如'top-hotels-in-india'这里hotelsindia是用户将要搜索的动态值。 当我使用laravel中的动态路由5.2

Route::get("top-hotels-in-india",'[email protected]');

它的工作原理,但是这是一个静态的URL我想这个动态的,所以改变了这种成

Route::get("top-{things}-in-{country}",'[email protected]'); 

但它不工作。如果我将-替换为/其作品完美,但我想在连字符而不是斜杠中使用连字符。 我该怎么做才能生成这种类型的路线。 请帮忙。

回答

0

我从来没有像这样使用,但你可以使用正则表达式这样,

Route::get("/{dynamic_url}",'[email protected]')->where ("dynamic_url","(top)\-[a-z]+\-(in)\-[a-z]+"); 

如果你的东西,国家被称为您还可以通过foreach循环使URL。

希望这可以帮助你。

+0

感谢您的帮助,但不幸的是它无法正常工作。 – Jitendra

+0

删除'/'并重试 – C2486

0

你不应该使用这种类型的URL。但你可以尝试下面的路线。

Route::get("/{dynamic_url}",'[email protected]')->where("dynamic_url","top-[a-zA-z]*-in-[a-zA-Z]*");