Intereting Posts
Глобальные переменные в PHP Объедините два массива бок о бок, где один может быть короче другого Как загрузить tmp_name загруженного файла в Laravel 5.0 Действие формы CodeIgniter не работает должным образом Использование odbc PDO для подключения к экземпляру сервера MSSQL с проверкой подлинности Windows проблема с загрузкой изображения в codeigniter 2.1.0 Форма PHP mail () не заполняет отправку электронной почты создать определенную папку для загрузки на основе роли пользователя и ограничить доступ к другой папке в laravel elfinder Поиск номеров телефонов в базе данных, игнорирующих специальные символы Ошибка впрыскивания службы тестирования Laravel PHP: YouTube v3 API Captions Upload with Sync Flag laravel и multi-сеансы из одного браузера У меня возникают проблемы с Array для структуры JSON в PHP, которые будут использоваться в Javascript как я могу получить данные json с php-сервера в android заменить пространство путем использования htaccess

Как предотвратить вставку электронной почты, если она уже существует с определенным идентификатором в laravel?

У меня есть таблица, в которой я пытаюсь хранить адреса электронной почты. Эти адреса электронной почты будут сохранены с помощью user_id .

Например, в таблице email_list

 |ID | user_id | email | ............................... | 1 | 101 | john@gmail.com | ............................... | 2 | 102 | john@gmail.com | 

В приведенной выше таблице вы можете видеть, что те же адреса электронной почты сохраняются с разными user_id , вот что я пытаюсь сделать.

В настоящее время я пытаюсь простую проверку laravel, как это.

 'email' => 'required|unique:email_list|email', 

Так есть ли способ проверить уже существующие адреса электронной почты, если строка имеет тот же user_id ? Я использую laravel 5.2. Я хотел бы оценить, если кто-то меня поведет. спасибо

Отредактировано через 3 часа

Я также добавляю такой же вопрос в github как вопрос . Человек говорит, что мне нужно создать собственное правило проверки.

Related of "Как предотвратить вставку электронной почты, если она уже существует с определенным идентификатором в laravel?"

Принуждение уникального правила игнорировать заданный идентификатор

Вы можете указать идентификатор, который будет игнорироваться как дополнительный третий параметр. Кроме того, если ваша таблица использует имя столбца первичного ключа, отличное от id, вы можете указать его как необязательный четвертый параметр

 'email' => "unique:{$table},{$field},{$user->id},{$idField}" 

Так что в вашем случае это будет следующим образом

 'email' => "unique:email_list,email,{$user->id},user_id' 

Это против существующего правила.
Прежде всего, проверка существующего правила основана на условии, что поля используются или нет.
Я думаю, если бы мы использовали это как противоположное, это было бы полезно для вас.

Пример: –

  'email' => 'exists:email_list,email,user_id,!102' 

т.е.

  'email' => 'exists:email_list,email,user_id,!'. $user_id 

в противном случае,

  'email' => 'exists:email_list,email,user_id,!'. Input::get(user_id) 

используя Input & import

  use Illuminate\Support\Facades\Input; 

и изменение содержимого сообщения
Пожалуйста, попробуйте эти ответы и ответьте, что произошло .. или это работает для вас ..?