laravel 5.2中的动态路由

时间:2017-02-28 16:28:38

标签: php laravel-5 routing laravel-routing

我想生成'top-hotels-in-india' hotels这样的网址india,而Route::get("top-hotels-in-india",'Controller@method');是用户将搜索的动态值。 当我使用时

Route::get("top-{things}-in-{country}",'Controller@method');

它有效,但这是一个静态网址,我想要这个动态,所以将其改为

-

但它不起作用。如果我用/替换bash autogen.sh 它的作品很完美,但我想在网址中使用连字符而不是斜线。 我该怎么做才能生成这种类型的路线。 请帮忙。

2 个答案:

答案 0 :(得分:0)

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

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

如果您的事物和国家已知,您也可以通过foreach循环制作网址。

希望这会对你有所帮助。

答案 1 :(得分:0)

您不应该使用此类网址。但您可以尝试以下路线。

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