📅  最后修改于: 2023-12-03 14:43:50.348000             🧑  作者: Mango
在 Laravel 中,我们可以使用 redirect()
函数将用户重定向到指定的 URL 或命名路由。本文将重点介绍如何返回重定向到命名路由。
在 routes/web.php
中定义一个命名路由非常容易。下面的示例代码定义了一个名为 home
的命名路由,它指向网站的首页:
Route::get('/', function () {
return view('welcome');
})->name('home');
我们可以使用 route()
函数,根据命名路由的名称生成其对应的 URL。同时,我们可以将该 URL 作为参数,将用户重定向到该命名路由。
下面的代码演示了如何返回重定向到名为 home
的命名路由:
return redirect()->route('home');
当我们在浏览器中访问此代码时,将会自动跳转到定义的首页。
如果你的命名路由需要参数,则可以在 route()
函数中传递额外的参数。如下所示:
// 定义命名路由
Route::get('/blog/{id}', function ($id) {
return view('blog', ['id' => $id]);
})->name('blog');
// 使用命名路由
return redirect()->route('blog', ['id' => 1]);
在上面的示例中,我们定义了一个名为 blog
的命名路由,它带有一个参数。接着,我们使用 route()
函数将用户重定向到该命名路由时,同时传递了一个 id 参数值为 1。
在将用户重定向到命名路由时,我们可以使用 route()
函数自动生成 URL。使用这种方式,我们可以避免明确指定 URL,从而使得代码更加灵活、易于维护。