创建用户对象失败?

App\Models\User::create(['name'=> 'Aufree', 'email'=>'aufree@yousails.com','password'=>bcrypt('password')])
PHP Fatal error: Class 'App\Models\User' not found in eval()'d code on line 1

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

User 类没有找到
1、查看 下 models 下有没有 user 这个类
2、如果有 看下 类里面的命名 空间 是否正确
3、如果不行 在laravel 根目录下 运行 composer update 试试

6年前 评论
讨论数量: 11
地瓜干少年

Php的报错提示的很明显

PHP Fatal error: Class 'App\Models\User' not found in eval()'d code on line 1
找不到user这个类 此时你应该声明User这个类所在的命名空间

6年前 评论

User 类没有找到
1、查看 下 models 下有没有 user 这个类
2、如果有 看下 类里面的命名 空间 是否正确
3、如果不行 在laravel 根目录下 运行 composer update 试试

6年前 评论
yanrui

不理解为啥上一结在创建模型Models/User.php后面为啥要Git回滚(git checkout -f)?

5年前 评论

1、修改 User.php 文件,更改 namespace 为我们新创建的文件夹路径:
app/Models/User.php
<?php
namespace App\Models;
namespace App; //或许是这里忘记删除了吧

5年前 评论

你看一下app/Models/User.php的命名空间是否声明正确了
应当为如下格式
<?php
namespace App\Models;
...
...
...

5年前 评论

@yanrui 上一节中的 git checkout -f 针对的是为了演示而创建的Article模型文件以及迁移文件,这里并不需要对演示过程中产生的文件的修改进行保存,所以执行了移除的操作;而之前的创建的Models/User.php,已经执行了一次提交,相关的代码已经保存了, git checkout -f 并没有对Models/User.php产生影响

5年前 评论

@yi丶抹浅笑 第三步没有存在的必要吧,User 模型默认是创建的,不过是在 app 的目录下,而且 composer update 也管不到模型吧,前两步检查完之后就应该没问题了

5年前 评论

@zjx 第三步 是为了 更新一些配置文件 user 类默认是在app目录下创建 在手动迁移文件的时候 修改完 命名空间也会报错 这个时候 使用第三部更新 即可 具体什么配置文件 没研究过 猜想应该是composer 的一些自动加载的路径吧

5年前 评论
不温柔

@zjx 我也遇到了同样的问题,按照教程步骤走,通过tinker创建用户的时候报错 ,检查了命名空间都改了,很迷惑,然后我看到了第三步,composer update确实好用,虽然我不知道为什么好用,真是没到原因@yi丶抹浅笑

file
但我用tinker创建的时候确实有报错,路径中有verdor/composer..../app/User.php

5年前 评论

其实这个BUG是作者没有写清楚,composer.json中不能autoload到app/Models目录下。
解决方案:
首先,修改composer.json

file

然后在网站根目录下执行
composer dumpautoload
这就可以把Model写在app/Models下,Tinker也能加载到文件了。
如图:

如图:

还有,执行composer dumpautoload前,记得删除App/下的User.php,要不然composer报警告。
file

5年前 评论

注意这个是在homestead虚拟环境中执行。否则windows下链接的mysql地址得改

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!