Bonsoir, ma fonction attempt me retourne une erreur :

Mon code :

Auth::attempt(['username' => $username, 'password' => $password], $remember, true)

Me retourne cette erreur :

Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Contracts\Auth\Authenticatable, instance of App\User given, called in C:\wamp\www\Civiz-end\vendor\laravel\framework\src\Illuminate\Auth\Guard.php on line 390 and defined

Je voudrais donc savoir comment la corriger, merci =D

2 réponses


otakodes
Réponse acceptée

La plupart du temps la réponse se trouve déjà sur internet pour des grosses erreur comme ça ^^
En gros, si j'ai bien compris, tu n'a pas bien défini ton Model User, du coup quand Auth se connect il a du mal à lier les données au model user.

Ton model class User doit être comme ça :

use Illuminate\Contracts\Auth\Authenticable;
class User extends \Eloquent implements Authenticable

https://laracasts.com/discuss/channels/general-discussion/laravel-5-authattemp-method?page=1

PS : Pensez à chercher un peu en postant l'erreur sur google avant de demander, google est ton ami #1

Bon, ça c'est un truc qui m'énerve, ceux qui suppriment un sujet qu'ils ont créé, pour le refaire de nouveau.
De plus, que toi tu as fait ça uniquement pour rajouter Urgent dans le titre du sujet.
Tu vas donc commencer par enlever ton Urgent, car ce n'est pas parce que tu l'ajoutes dans le titre de ton sujet, qu'il passera prioritaire par rapport aux autres et que nous y répondrons plus rapidement.
Et puis, penses à mettre les codes dans les balises prévues.