未定义的数组密钥-Laravel/Fortify寄存器



它只是Laravel中的一个注册页。。如果用户的老师不是学生,则用户必须选中复选框。

因此,我尝试使用值1老师0学生,但我不知道如何在控制器中获得这个值。

当检查时,还尝试了下面的代码('role_id' => $input['role_id'],(;关于";在数据库上,但未检查它会抛出错误

未定义的数组键"role_ id";

注册视图。。

<div class="form-group form-check">
<input type="checkbox" class="form-check-input" id="role_id" name="role_id" value="0" 
<label class="form-check-label" for="exampleCheck1">Teacher</label>
</div>

Fortify控制器。。

/**
* Validate and create a newly registered user.
*
* @param  array  $input
* @return AppModelsUser
*/
public function create(array $input)
{
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'email' => [
'required',
'string',
'email',
'max:255',
Rule::unique(User::class),
],
'password' => $this->passwordRules(),
])->validate();
return User::create([
'name' => $input['name'],
'email' => $input['email'],
'password' => Hash::make($input['password']),
'role_id' =>  $input['role_id'],
]);
}

}

关闭/>输入复选框

<div class="form-group form-check">
<input type="checkbox" class="form-check-input" id="role_id" name="role_id" value="1"/>
<label class="form-check-label" for="exampleCheck1">Teacher</label>
</div>

和控制器

return User::create([
'name' => $input['name'],
'email' => $input['email'],
'password' => Hash::make($input['password']),
'role_id' =>  $input['role_id']??0,
]);

最新更新