Как произвести валидацию уникального параметра при перезаписи в Laravel

Распространенная ситуация при пректировании веб-приложений: перезаписываем существующий уникальный параметр, но который нужно валидировать на уникальность, кроме самого себя.
Нужна такая конструкция при валидации:

   // сохранить в профиле email
    public function changemail(Request $request)
    {
        //валидация
        $this->validate($request, [
            'email' => 'required|email|unique:users,email,'. Auth::user()->id,
 
        ]);
 
        //после валидации, к примеру, пишем изменения
        $user = User::find(Auth::user()->id);
        $user->email = $request->get('email');
        $user->save();
 
        //ну и, к примеру, возвращаемся в профиль
        return  redirect()->back();
 
    }

Строчка валидации читается так:
1) required — обязательный параметр;
2) email — тип email;
3) unique:users,email,’. Auth::user()->id
unique:users — уникальный для поля email, таблицы users, кроме id поля, задаваемого идентификатором пользователя Auth::user()->id, в нашем случае авторизованного пользователя.

Вам понравиться

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *