$ PHP artisan db:seed 报错:Class UsersTableSeeder does not exist ?

MAC系统,按照教程来执行的,$ php artisan db:seed 报错。
file

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

@sdonly 文件名和类名不一样了!!!文件名是 UsersTableSeeder.php,该文件代码却写成了 class UserTableSeeder!!!请把代码改成 class UsersTableSeeder`!!!并更新所有用到该类的地方!!! 注意字母 s s s!!!

5年前 评论
讨论数量: 12

看下是不是没有再 app/database/seeds/DatabaseSeeder.php 中注册 UsersTableSeeder

5年前 评论

@truesnow 我把UsersTableSeeder 改成了 UserTableSeeder 之后,就可以生成假数据了。

file

5年前 评论

@sdonly 你的 database/seeds/UsersTableSeeder.php 文件名里 user 带 s,文件中类命名中 user 应该没有 s,为 UserTableSeeder。文件名和类名不一致了,seeder 文件应该统一使用复数形式。

5年前 评论

@truesnow 你上面解释的,我没有太明白。你帮我看看下面这两个截图,哪里有错误吧。非常感谢。

file

file

5年前 评论

执行以下composer dump-autoload

5年前 评论

@cocoyo composer dump-autoload这个命令我之前执行过,顺序是这样的:

第一步:database/seeds/DatabaseSeeder.php 文件里面是 UsersTableSeeder
file

第二步:执行 php artisan db:seed 失败。

第三步:先执行 composer dump-autoload ,然后执行php artisan db:seed 还是失败。

file

第四步:将database/seeds/DatabaseSeeder.php 文件里面的 UsersTableSeeder 改为:UserTableSeeder

file

第五步:再次执行 php artisan db:seed ,假数据生成了。

file

问题:这样操作是错误的吗?怎么改才对呀?

5年前 评论

@sdonly 文件名和类名不一样了!!!文件名是 UsersTableSeeder.php,该文件代码却写成了 class UserTableSeeder!!!请把代码改成 class UsersTableSeeder`!!!并更新所有用到该类的地方!!! 注意字母 s s s!!!

5年前 评论

@truesnow 问题解决了,非常感谢!!!哈哈

5年前 评论

看讨论好多都遇到这个问题了, 说到底还是不认真啊,users 和user混用,写代码 规范真的很重要!

5年前 评论

报错相同 但是检查自己的类名 文件名都是复数,控制台切换到项目根目录 composer dump-autoload 成功解决问题

4年前 评论

@覃福安 我的也是这么解决的 但是不知道这个composer dump-autoload 下载是的啥

3年前 评论

由于 database 目录没有像 app 目录那样被 composer 注册为 psr-4 自动加载,采用的是 psr-0 classmap 方式,所以我们还需要运行composer dump-autoload命令把 ArticleSeeder.php 加入自动加载系统,避免找不到类的错误(github某教程里提到了这个)

3年前 评论

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