我有一个表单,管理员可以在其中添加用户。当我使用数据库中存在的一些电子邮件提交表单时,我收到错误消息
SQLSTATE[23000]:违反完整性约束:1062 键“users_email_unique”的重复条目“mail@mail.com”
我想避免这个错误,而是得到例如警告“邮件被占用”或类似的东西。任何帮助表示赞赏。这是我的代码。
用户控制器.php
public function store(StoreUserInfo $data)
{
$data->validated();
$user = User::create([
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'city' => $data['city']
]);
return redirect()
->route('admin.users')
->with('message', 'User created successfully');
}
商店用户信息.php
public function rules()
{
$emailid = (Auth::user()->roles()->first()->name == 'admin')
? (isset($this->user->id)?$this->user->id:Auth::user()->id) : Auth::user()->id;
return [
'first_name' => ['required', 'string', 'max:255'],
'last_name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,' . $emailid],
'city' => ['required', 'exists:cities,city']
];
}
弑天下
神不在的星期二
吃鸡游戏