Reputation: 13
First i want to apologize for my bad english, that isn't my natural language.
So, i encounter a class not found error after renaming one of my Model. I searched a tons of time on Stackoverflow but all suggested tips aren't working. So I come to you to have your help and see if we can found the problem.
After rename my Model Utilisateurs
to Utilisateur
, i have changed every call of it, checked the autoload_classmap.php
, did a composer dump-autoload
as suggested on another thread i found on stackoverflow, but still the same problem, i've got an:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class '\App\Utilisateurs' not found
I don't know why laravel wants to load the Utilisateurs
class and not my renamed Utilisateur
class. I checked migration file but it seems nothing strange in it ( i'm probally wrong ).
I'm new to Laravel and i need some help / tips to correct my mistake, if someone have any idea, you are welcome. Thanks in advance, my modified code are below, if you need something else feel free to ask.
Thanks
Utilisateur.php after rename:
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable;
use \Illuminate\Auth\Authenticatable as BasicAuthenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\SoftDeletes;
use ChristianKuri\LaravelFavorite\Traits\Favoriteability;
class Utilisateur extends Model implements Authenticatable {
use BasicAuthenticatable;
use Notifiable;
use SoftDeletes;
use Favoriteability;
protected $dates = ['deleted_at'];
protected $fillable = [
'first_name',
'last_name',
'email',
'password',
'structure',
'confirmation_token',
'email_sent',
];
public function structures(){
return $this->belongsToMany(Structure::class);
}
public function getRememberTokenName(){
return '';
}
}
Migration file: 2018_04_22_010424_create_utilisateurs_table.php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUtilisateursTable extends Migration
{
public function up()
{
Schema::create('utilisateurs', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name');
$table->string('last_name');
$table->string('email')->unique();
$table->string('password');
$table->string('structure')->nullable();
$table->string('confirmation_token')->nullable();
$table->boolean('email_sent')->nullable();
$table->timestamps();
$table->softDeletes();
});
}
public function down()
{
Schema::dropIfExists('utilisateurs');
}
}
Partial view from autoload_classmap.php
'App\\Structure' => $baseDir . '/app/Structure.php',
'App\\Traits\\PermTrait' => $baseDir . '/app/Traits/PermTrait.php',
'App\\User' => $baseDir . '/app/User.php',
'App\\Utilisateur' => $baseDir . '/app/Utilisateur.php',
'Carbon\\Carbon' => $vendorDir . '/nesbot/carbon/src/Carbon/Carbon.php',
Log error Laravel
[2018-05-24 11:43:03] local.ERROR: Class '\App\Utilisateurs' not found {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class '\\App\\Utilisateurs' not found at E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\EloquentUserProvider.php:147)
[stacktrace]
#0 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\EloquentUserProvider.php(113): Illuminate\\Auth\\EloquentUserProvider->createModel()
#1 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\SessionGuard.php(352): Illuminate\\Auth\\EloquentUserProvider->retrieveByCredentials(Array)
#2 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\AuthManager.php(292): Illuminate\\Auth\\SessionGuard->attempt(Array)
#3 E:\\Serveur\\www\\test\\app\\Http\\Controllers\\AccountController.php(30): Illuminate\\Auth\\AuthManager->__call('attempt', Array)
#4 [internal function]: App\\Http\\Controllers\\AccountController->signIn()
#5 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php(54): call_user_func_array(Array, Array)
#6 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('signIn', Array)
#7 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Http\\Controllers\\AccountController), 'signIn')
#8 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(169): Illuminate\\Routing\\Route->runController()
#9 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(659): Illuminate\\Routing\\Route->run()
#10 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#12 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php(67): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Middleware\\ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#18 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#21 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\EncryptCookies.php(59): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#27 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#30 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(661): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#31 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(636): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#32 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(602): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#33 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(591): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#34 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#35 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#36 E:\\Serveur\\www\\test\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#37 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#40 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(31): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#43 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#46 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode.php(51): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#49 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#50 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#52 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#53 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#54 E:\\Serveur\\www\\test\\public\\index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#55 {main}
"}
Upvotes: 1
Views: 17437
Reputation: 159
It's a bug for this framework , but you can handle when your current provider has value run your code.
Illuminate\Foundation\ProviderRepository
project\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php
protected function compileManifest($providers)
{
// The service manifest should contain a list of all of the providers for
// the application so we can compare it on each request to the service
// and determine if the manifest should be recompiled or is current.
$manifest = $this->freshManifest($providers);
foreach ($providers as $provider) {
if (@$provider){
$instance = $this->createProvider($provider);
// When recompiling the service manifest, we will spin through each of the
// providers and check if it's a deferred provider or not. If so we'll
// add it's provided services to the manifest and note the provider.
if ($instance->isDeferred()) {
foreach ($instance->provides() as $service) {
$manifest['deferred'][$service] = $provider;
}
$manifest['when'][$provider] = $instance->when();
}
// If the service providers are not deferred, we will simply add it to an
// array of eagerly loaded providers that will get registered on every
// request to this application instead of "lazy" loading every time.
else {
$manifest['eager'][] = $provider;
}
}
}
return $this->writeManifest($manifest);
}
public function createProvider($provider)
{
if (@$provider){
return new $provider($this->app);
}
}
Upvotes: 0
Reputation: 2435
can you check line 70
of config/auth.php
?
How i guessed it:
When you read this part of the exception, you'll see that laravel is attempting to retrieve the current user and put it in a model, and i figured that it meant that a wrong user model was declared in the config file related to authentication.
#0 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\EloquentUserProvider.php(113): Illuminate\\Auth\\EloquentUserProvider->createModel()
#1 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\SessionGuard.php(352): Illuminate\\Auth\\EloquentUserProvider->retrieveByCredentials(Array)
#2 E:\\Serveur\\www\\test\\vendor\\laravel\\framework\\src\\Illuminate\\Auth\\AuthManager.php(292): Illuminate\\Auth\\SessionGuard->attempt(Array)
#3 E:\\Serveur\\www\\test\\app\\Http\\Controllers\\AccountController.php(30): Illuminate\\Auth\\AuthManager->__call('attempt', Array)
Upvotes: 1