类别'\应用程序\用户';更改命名空间时在Laravel中找不到
将类别'\应用程序\用户';更改命名空间时在Laravel中找不到,laravel,laravel-5.2,Laravel,Laravel 5.2,将User.php移动到Models/User.php local.ERROR:Symfony\Component\Debug\Exception\fatalthrowable错误:致命错误: 找不到类“\App\User” vendor/laravel/framework/src/illumb/Auth/EloquentUserProvider.php:126 您需要在config/auth.php中将App\User更改为App\Models\User转到config/auth.php并将A
User.php
移动到Models/User.php
local.ERROR:Symfony\Component\Debug\Exception\fatalthrowable错误:致命错误:
找不到类“\App\User”
vendor/laravel/framework/src/illumb/Auth/EloquentUserProvider.php:126
您需要在config/auth.php中将App\User更改为App\Models\User转到config/auth.php并将App\User:class更改为App\Models\User::class
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
还要更改User.php模型的名称空间
namespace App\Models;
这些答案不正确,您不需要将名称空间更改为\App\Models\User。自动加载将加载models文件夹,但类仍然可以是
class User
,命名空间仍然应该是App
。在你的文件中是这样设置的吗
namespace App;
class User extends Model {}
我最终能够通过修改以下代码来解决这个问题
array (
'driver' => 'eloquent',
'model' => 'App\\Models\User',
),
对我来说,解决问题的办法是改变:
'model' => '{YourAppName}\User',
发生的情况是您更改了user.php文件的位置 您的系统仍在旧位置查找user.php文件。您需要为系统提供正确的文件路径 因此,您必须将代码从'model'=>App\User::class更改为
'model'=>App\Models\User::class,如果要在Laravel上使用auth默认值(
php artisan make:auth
),则必须在App/Http/Controllers/auth/
use App\User;
到
另外,对于其他功能,您必须更改用户模型上的命名空间:
namespace App\Models;
并更改config/auth.php
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
重新加载编写器或已加载的类
composer dump-autoload
如果应用程序配置被缓存,它可能无法获取新配置,因为config:cache在清除和缓存配置之前会出现此错误,所以只需手动删除缓存:
rm bootstrap/cache/config.php
如果您使用的是user.php模型文件,请将其放入文件夹Models/user.php中 然后您需要在下面的文件中进行更改,这样您就不会得到任何错误 如果我们在App\http中创建模型文件夹,在何处更改 跟随路径中的变换器--- 1配置- -auth.php -搜索用户密钥更改-->app\user-TO-app\Models\user 2威尼斯人/作曲家/ -autoload_classmap.php-->基本路径(app\user到app\Models\user)
-autoload_static.php-->BAse path(app\user到app\Models\user)检查导入是否表示类的确切名称。我发现在我的一个控制器中,我被导入了
App\user
,小写字母为“u”,而不是App\user
,大写字母为“u”我修复了更改使用App\user时出现的问题
使用MyAppName\User此问题是配置
和缓存
设置之一,通过在终端中执行以下命令,90%的问题将得到解决
config:clear
cache:clear
config:cache
我只需将使用app\User更改为使用app\User,它就可以工作了几天前我收到了同样的问题。所以我这样做了:运行这个命令
php artisan config:cache
php artisan config:clear
它解决了我的问题。大多数问题都是通过这个解决的。
我建议您先尝试一下,如果这不能解决您的问题,那么请尝试其他破解方法。我使用的是Laravel 8x,并在.php顶部找到了一个简单的使用方法
如果您遇到了与我相同的问题,并且按照描述的方式执行了所有操作,但仍然出现错误,请尝试如下方式清除配置缓存:
php artisan config:cache
php artisan config:clear
没有人指向名称空间App\Models;换句话说,谢谢你。我忘了更改用户模型的名称空间我像您的帮助一样更改了我的项目,所以它对我不起作用。在更改了auth.php之后,谁能帮我添加plz.add这个命令呢?它帮助我删除了以前配置rm bootstrap/cache/config.phpwhere的缓存?在什么文件中?你能进一步解释你的答案吗?它是如何工作的以及为什么工作的?虽然这段代码可以为这个问题提供一个解决方案,但最好添加上下文来说明它为什么/如何工作。这可以帮助未来的用户参考并最终将这些知识应用到他们自己的代码中。在解释代码时,您可能会收到用户的积极反馈/赞成票。请更改模型拼写。
php artisan config:cache
php artisan config:clear
use App\Models\User