Измените поле электронной почты для аутентификации Laravel по умолчанию на user_email - PullRequest
0 голосов
/ 06 марта 2019

Ошибка Laravel при изменении поля email из базы данных на user_email

Подсветка \ База данных \ QueryException SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец «электронная почта» в «пункт where '(SQL: выберите * из ns_users, где email = admin@yahoo.com предел 1)

Schema::create('ns_users', function (Blueprint $table) {
        $table->increments('user_id');
        $table->boolean('active')->default(0);/*by default the user is not active*/
        $table->integer('role')->default(0);/* role 0 means user and role 1 means admin!! */
        $table->string('name');
        $table->string('user_email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
});

Кто-нибудь знает, что я должен изменить в аутентификации по умолчанию для работыс полем user_email вместо email?

Ответы [ 2 ]

4 голосов
/ 06 марта 2019

По умолчанию Laravel использует поле email для аутентификации. Если вы хотите настроить это, вы можете определить метод username на вашем LoginController:

public function username()
{
    return 'user_email';
}
0 голосов
/ 06 марта 2019
public function getEmailAttribute()
    {
        return $this->user_email;
    }

у меня работает

...