📅  最后修改于: 2023-12-03 15:17:11.881000             🧑  作者: Mango
在 Laravel 6 中,可以方便地在 URL 上使用用户名,而不是使用用户的 ID。这使得 URL 更加可读性和可维护性。
要在 URL 上使用用户名,我们需要完成以下步骤:
routes/web.php
文件中,定义路由时给路由加上名称Route::get('/users/{username}', 'UserController@show')->name('users.show');
UserController
控制器中,根据用户名获取用户信息public function show($username)
{
$user = User::where('username', $username)->firstOrFail();
return view('users.show', compact('user'));
}
route
函数生成链接<a href="{{ route('users.show', $user->username) }}">{{ $user->name }}</a>
这样,我们就可以在 URL 上使用用户名了。
用户名应该具有唯一性,如果重复了,则会返回第一个匹配的用户信息。
在数据库中将用户名设置为唯一的,以确保唯一性。
在视图中使用 route
函数时,应该使用路由的名称,而不是路由的 URL。
以下是 routes/web.php
文件中定义路由的代码片段:
Route::get('/users/{username}', 'UserController@show')->name('users.show');
以下是 UserController
控制器中根据用户名获取用户信息的代码片段:
public function show($username)
{
$user = User::where('username', $username)->firstOrFail();
return view('users.show', compact('user'));
}
以下是在视图中使用 route
函数生成链接的代码片段:
<a href="{{ route('users.show', $user->username) }}">{{ $user->name }}</a>