Я пытаюсь настроить проверку регистрации клиента и редактирование профиля.
- Я использую мягкое удаление
- Электронная почта должна быть уникальной (не считая конечно, исключенные)
- Если профиль редактируется (идентификатор присутствует), он должен игнорировать эти поля email
Пока у меня есть
'email' => [
'required',
'email',
'unique:clients,email,NULL,deleted_at,deleted_at,NULL',
],
Сейчас это работает правильно и обнаруживает уникальные электронные письма, которые не были удалены, но это дает мне ошибки, когда мне нужно отредактировать профиль вне клиента. Я попытался добавить дополнительные уникальные настройки, но они, похоже, игнорируются:
'email' => [
'required',
'email',
'unique:clients,email,NULL,deleted_at,deleted_at,NULL',
Rule::unique('clients')->ignore('id', (int)$request->input('id')) // <- from Laravel docs, but is not working
],
Я нашел решения только с одним из этих требований, но не могу их объединить.
Изменить: Исправление было
'email'=>['required','email',Rule::unique('clients','email')->ignore($request->input('id'))->whereNull('deleted_at')],