Laravel 5.6 Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) Class '\App\Utilisateurs' 未找到
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/50508242/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Laravel 5.6 Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) Class '\App\Utilisateurs' not found
提问by Kedaz
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.
因此,在重命名我的模型之一后,我遇到了未找到类的错误。我在 Stackoverflow 上搜索了大量时间,但所有建议的提示都不起作用。所以我来找你寻求帮助,看看我们是否能找到问题。
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:
将我的模型重命名Utilisateurs
为 后Utilisateur
,我更改了它的每次调用,检查了autoload_classmap.php
,composer dump-autoload
按照我在 stackoverflow 上找到的另一个线程上的建议执行了操作,但仍然是同样的问题,我有一个:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class '\App\Utilisateurs' not found
I don't know why laravel wants to loadthe Utilisateurs
class and not my renamed Utilisateur
class. I checked migration file but it seems nothing strange in it ( i'm probally wrong ).
我不知道为什么laravel要加载的Utilisateurs
类,而不是我的重命名Utilisateur
类。我检查了迁移文件,但它似乎没什么奇怪的(我可能错了)。
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.
我是 Laravel 的新手,我需要一些帮助/提示来纠正我的错误,如果有人有任何想法,欢迎您。在此先感谢,我修改后的代码如下,如果您需要其他东西,请随时询问。
Thanks
谢谢
Utilisateur.php after rename:
重命名后的 Utilisateur.php:
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
迁移文件: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
来自 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
日志错误 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}
"}
采纳答案by Quezler
can you check line 70
of config/auth.php
?
你可以检查线70
的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.
当您阅读异常的这一部分时,您会看到 laravel 正在尝试检索当前用户并将其放入模型中,我认为这意味着在与身份验证相关的配置文件中声明了错误的用户模型。
#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)
回答by mohammadreza gohari
It's a bug for this framework , but you can handle when your current provider has value run your code.
这是这个框架的一个错误,但是当您当前的提供者有值运行您的代码时,您可以处理。
go to namespace:
转到命名空间:
Illuminate\Foundation\ProviderRepository
Illuminate\Foundation\ProviderRepository
or go to physical path
或转到物理路径
project\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php
project\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php
and change compileManifest function to :
并将 compileManifest 函数更改为:
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);
}
source error compile from this function
从此函数编译源错误
public function createProvider($provider)
{
if (@$provider){
return new $provider($this->app);
}
}