如何构建具有命名路由的URL?

时间:2017-06-19 15:04:44

标签: php laravel-5.1 laravelcollective

我正在尝试使用命名路由生成网址链接。例如,我有http://myapp.com/{token}。但是,我在路线中使用了很多功能,但我得到的结果是http://myapp.com?token而不是http://myapp.com/token

我该怎么办?

生成好网址的唯一方法是使用不带网址名称的函数url。例如:url( '/reset', [$token])。但在这种情况下,我没有使用我希望使用的路线名称。

真正的问题: 我有这样的路线:

// Password reset routes...
Route::get('reset/{token}', [
    'as' => 'password.reset',
    'uses' => 'Auth\PasswordController@getReset'
]);

刀片模板:

<a href="{{ url( '/reset', [$token]) }}">Click here to reset your password</a>
<br>
<a href="{{ url( route('password.reset', $token)) }}">Click here to reset your password</a>
<br>
{!! link_to_route('password.reset', 'Click here to reset your password', $token) !!}
<br>
<a href="{{ route('password.reset', $token) }}">Click here to reset your password</a>

结果是:

<a href="https://laravel51.app2/reset/72a560d23a1bf17eec336d07c169bd4c02d25e24ae3581977b4fa4aa4f4e3252">Click here to reset your password</a>
<br>
<a href="https://laravel51.app2/reset?72a560d23a1bf17eec336d07c169bd4c02d25e24ae3581977b4fa4aa4f4e3252">Click here to reset your password</a>
<br>
<a href="https://laravel51.app2/reset?72a560d23a1bf17eec336d07c169bd4c02d25e24ae3581977b4fa4aa4f4e3252">Click here to reset your password</a>
<br>
<a href="https://laravel51.app2/reset?72a560d23a1bf17eec336d07c169bd4c02d25e24ae3581977b4fa4aa4f4e3252">Click here to reset your password</a>

1 个答案:

答案 0 :(得分:0)

route('password.reset', [ 'token' => $token ])

是你需要写的