📜  laravel 6 在 url 上使用用户名 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:11.881000             🧑  作者: Mango

Laravel 6 在 URL 上使用用户名

在 Laravel 6 中,可以方便地在 URL 上使用用户名,而不是使用用户的 ID。这使得 URL 更加可读性和可维护性。

步骤

要在 URL 上使用用户名,我们需要完成以下步骤:

  1. routes/web.php 文件中,定义路由时给路由加上名称
Route::get('/users/{username}', 'UserController@show')->name('users.show');
  1. UserController 控制器中,根据用户名获取用户信息
public function show($username)
{
    $user = User::where('username', $username)->firstOrFail();

    return view('users.show', compact('user'));
}
  1. 在视图中,使用 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>