Erreur Laravel Lorsque je modifie le champ code> Email CODE> de la base de données à Illuminate \ Base de données \ QueryException sqlstate [42S22]: Colonne non trouvée:
1054 Colonne inconnue 'Email' dans 'Où clause' (SQL: Sélectionnez * à partir de
user_email code>
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();
});
3 Réponses :
Par défaut, Laravel utilise le champ code> e-mail code> pour l'authentification. Si vous souhaitez personnaliser cela, vous pouvez définir un nom d'utilisateur code> code> sur votre logiffontroller code>:
public function getEmailAttribute()
{
return $this->user_email;
}
works for me
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)
Vous devez remplacer la fonctionnalité de connexion d'authentification par défaut pour fonctionner avec le champ user_email B>.
Parcourez ce fichier
Vendeur / Laravel / Framework / SRC / Illuminate / Fondation / Auth / Auth EntiticatSuSusers.php Code> Ici, vous pouvez trouverNom d'utilisateur () CODE> 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'; } code> coller ce code dans elle et modifier la valeur de retour suruser_email code>.