Проверка Laravel по записям базы данных

Problem is how to validate by Database model, I have model "Emails". I just want to people can register if their email already in our Email model.

Таблица базы данных электронной почты

Schema::create('emails', function (Blueprint $table) {
        $table->increments('id');
        $table->text('username')->nullable();
        $table->text('fullname')->nullable();
        $table->text('description')->nullable();
        $table->text('email')->nullable();
        $table->timestamps();
});

Auth @ RegisterController

protected function validator(array $data)
{
    return Validator::make($data, [
        'name'     => 'required|max:255',
        'email'    => 'required|max:255|unique:users',         here i guess
        'password' => 'required|min:6|confirmed',
    ]);
}**strong text**
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
4
0
3 462
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы пробовали RULE-EXISTS?

существует: таблица, столбец

Проверяемое поле должно существовать в данной таблице базы данных.

Более: https://laravel.com/docs/5.6/validation#rule-exists

Нет, я этого не пробовал. Значит, я должен сделать это вот так? 'required|max:255|unique:tablename.columnname,email',

Ruka Xing 21.08.2018 09:52

да, но не уникальный, используйте - существует: table_name, column_name

Adam Kozlowski 21.08.2018 09:53
Ответ принят как подходящий

Вы должны использовать проверку unique для уникального адреса электронной почты в таблице users и проверку exists для проверки наличия электронной почты в таблице emails.

protected function validator(array $data)
{
    return Validator::make($data, [
        'name'     => 'required|max:255',
        'email'    => 'required|max:255|unique:users|exists:emails',  
        'password' => 'required|min:6|confirmed',
    ]);
}

Предполагая, что у вас есть поле email в таблицах users и emails

Другие вопросы по теме