如何在 laravel 中通过用户名查找用户?
How to find user by user name in laravel?
我在构建 laravel API 时试图通过用户名查找用户。这就是我正在尝试的
api.php
Route::get('user-profile/user/{user}', 'UserProfileController@getUserProfile');
控制器
public function getUserProfile(User $user)
{
$userId = User::where('userName', $user->userName)->first()->id; // I am expecting user id here like "1"
}
这会导致 404 未找到错误。
默认路由模型绑定搜索id
,在你的情况下你想通过username
搜索,所以你需要的只是从你的控制器参数中删除依赖注入,就像这样
public function getUserPortfolio($user) // fix it as $user only
{
$userId = User::where('userName', $user)->first()->id; // I am expecting user id here like "1"
}
默认路由模型绑定将搜索 id
。
如果您希望 Laravel 到 select 用户使用 userName
.
列,您应该自定义路由中的列名称
在你api.php:
Route::get('user-profile/user/{user:userName}', 'UserProfileController@getUserProfile');
假设您的 userName
在 table 中是唯一的,那么在您的控制器中您应该使用:
public function getUserProfile(User $user)
{
$userId = user->id;
...
}
这将自动为您处理 404 错误,而不是 答案。
我在构建 laravel API 时试图通过用户名查找用户。这就是我正在尝试的
api.php
Route::get('user-profile/user/{user}', 'UserProfileController@getUserProfile');
控制器
public function getUserProfile(User $user)
{
$userId = User::where('userName', $user->userName)->first()->id; // I am expecting user id here like "1"
}
这会导致 404 未找到错误。
默认路由模型绑定搜索id
,在你的情况下你想通过username
搜索,所以你需要的只是从你的控制器参数中删除依赖注入,就像这样
public function getUserPortfolio($user) // fix it as $user only
{
$userId = User::where('userName', $user)->first()->id; // I am expecting user id here like "1"
}
默认路由模型绑定将搜索 id
。
如果您希望 Laravel 到 select 用户使用 userName
.
在你api.php:
Route::get('user-profile/user/{user:userName}', 'UserProfileController@getUserProfile');
假设您的 userName
在 table 中是唯一的,那么在您的控制器中您应该使用:
public function getUserProfile(User $user)
{
$userId = user->id;
...
}
这将自动为您处理 404 错误,而不是