J'ai cette erreur lorsque je déplace User.php
vers Models/User.php
local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Erreur irrécupérable: Classe '\ App\User' introuvable
vendeur/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php: 126
Accédez à config/auth.php et remplacez App\User: class par App\Models\User :: class.
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
Changer également l'espace de noms du modèle User.php
namespace App\Models;
Ces réponses ne sont pas correctes, vous n'avez pas besoin de modifier l'espace-noms en\App\Models\User. Le chargement automatique chargera le dossier models mais la classe peut toujours être class User
et l'espace de noms devrait toujours être App
. Est-ce ainsi que cela est configuré dans votre fichier?
namespace App;
class User extends Model {}
J'ai finalement pu le résoudre en changeant le code suivant.
array (
'driver' => 'eloquent',
'model' => 'App\\Models\User',
),
Ce qui a résolu le problème pour moi a été de changer:
'model' => '{YourAppName}\User',
Qu'est-ce qui s'est passé, c'est que vous avez changé l'emplacement du fichier user.php.
Votre système recherche toujours le fichier user.php à l’ancien emplacement. Vous devez donner au système le bon chemin vers le fichier.
Je suppose que vous devez changer le code de 'model' => App\User :: class, en
'model' => App\Models\User :: class,
Si vous utilisez l'autorisation par défaut sur Laravel (php artisan make:auth
), vous devez modifier la variable RegisterController
sur app/Http/Controllers/Auth/
use App\User;
à
use App\Models\User;
En outre, pour le reste des fonctionnalités, vous avez modifié l’espace de nom sur votre modèle d’utilisateur:
namespace App\Models;
Et changez config/auth.php
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
Vous devez modifier App\User en App\Models\User dans config/auth.php
Recharger les classes autloaded du compositeur.
composer dump-autoload