0
votes

Modifiez le champ Email Laravel Authenticaton par défaut à User_email

Erreur Laravel Lorsque je modifie le champ code> Email CODE> de la base de données à user_email code>

Illuminate \ Base de données \ QueryException sqlstate [42S22]: Colonne non trouvée: 1054 Colonne inconnue 'Email' dans 'Où clause' (SQL: Sélectionnez * à partir de ns_users code> où e-mail code> = admin@yahoo.com limite 1) p> BlockQuote>

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();
});


2 commentaires

Vous devez remplacer la fonctionnalité de connexion d'authentification par défaut pour fonctionner avec le champ user_email .


Parcourez ce fichier Vendeur / Laravel / Framework / SRC / Illuminate / Fondation / Auth / Auth EntiticatSuSusers.php Ici, vous pouvez trouver Nom d'utilisateur () Copiez cela et coller Dans votre contrôleur de connexion d'authentification selon la version Laravel, il peut être contrôleur d'authentification ou contrôleur de connexion. Fonction publique Nom d'utilisateur () {Retour 'Email'; } coller ce code dans elle et modifier la valeur de retour sur user_email .


3 Réponses :


6
votes

Par défaut, Laravel utilise le champ e-mail pour l'authentification. Si vous souhaitez personnaliser cela, vous pouvez définir un nom d'utilisateur sur votre logiffontroller : xxx


0 commentaires

0
votes
public function getEmailAttribute()
    {
        return $this->user_email;
    }
works for me 

0 commentaires

0
votes

Si quiconque d'entre vous gère manuellement l'authentification Laravel à l'aide de la méthode de tentative. Tout ce que vous avez à faire est de modifier le nom de la clé 'Email' sur celui que vous avez désiré dans une matrice associative Vous passez à la méthode de tentative.

Auth::attempt(['user_email' => $email, 'password' => $password], $remember)


0 commentaires