Laravel:按名称从路由中获取 URL

我试图做一些不同的事情,但我找不到任何方法来做到这一点。也许我的方法是错误的,但无论哪种方式,我想我可能会在这里找到一些帮助。

我有一个Laravel 5项目,你知道如何使用以下命令获取当前路由名称:

\Request::route()->getName();

所以我实际上希望做完全相反的事情。也许不完全相反,但我需要的是根据我为该路由提供的名称检索我的路由URL。这是我梦寐以求的场景。

的路线.php:

Route::any('/hos', "HospitalController@index")->name("hospital");

我想在我的控制器中做什么,我不知道如何做,或者如果可能的话:

// I have no idea if this is possible but thats what I'm trying to accomplish
$my_route_url = \Request::route()->getURLByName("hospital");

echo $my_route_url; // this would echo: "/hos"

我可能在这里使用了错误的方法,所以也许你们可以帮助我,并在这个问题上有所启发。

谢谢!


答案 1

$url = route('routeName');

如果存在参数

$url = route('routeName', ['id' => 1]);

https://laravel.com/docs/5.1/helpers#method-route


答案 2

我猜您正在尝试将路线重命名为Web中的指定路由.php文件

Route::get('anyroute', array('as' => 'newname', function() {
    $url = route('new_name');
    return "This is the $url";    
}));

推荐