要更新用户,我使用了名为UserByAdminFormRequest
的FormRequest,如下所示:
public function rules()
{
switch ($this->method()) {
case 'GET':
case 'DELETE': {
//some Rules
}
case 'POST': {
//some Rules
}
case 'PUT':
$user_id = $this->get('user_id');
dd($this);
return [
'name' => 'required',
'email' => 'email|unique:users,email,' . $user_id . ',user_id',
'password' => 'min:4',
're-password' => 'required_unless:password,' . NULL . '|same:password',
];
case 'PATCH': {
//some Rules
}
default:
break;
}
正如您所看到的email
字段应该是唯一的,但在这种情况下忽略当前用户,我需要user_id
值。
为此,我使用$this->get('user_id')
,但它始终返回null
值。
我在我的控制器中使用了这样的FormRequest:
public function update(UserByAdminFormRequest $request, \App\User $user)
{
//
}
我通过PUT方法调用的网址是(例如):
http://api.zarsystem.dev/v1/dashboard/user/7
在这种情况下我该怎么办?或者有其他方法吗?
答案 0 :(得分:1)
而不是
$这 - >获得( 'USER_ID')
你需要使用
$这 - > USER_ID
获取用户ID的值,确保您有输入字段或名为user_id的隐藏字段。