今天在学习Laravel的过程中修改了几个migration文件和seeder文件,当我使用:
php artisan migrate
返回的命令行返回结果:
返回结果看上去一切正常,我就接着使用:
php artisan db:seed
命令行里没有给出任何输出信息,数据库中只有migrate命令建立的表,表里并没有数据,是哪里出了问题呢?
php artisan db:seed命令没有反应下面列出的,是我的seeder文件,DatabaseSeeder.php是入口文件,其余三个我自建的。
我的Seeder文件
经过资料查找,我决定逐个seeder运行。GradeClassesTableSeeder并没有出现什么问题。不过,后边的两个文件就出现了问题:
单独执行StudentsTableSeeder到StudentsTableSeeder.php中一看,原来是存在粗心造成的语法错误,马上改正。
单独执行UsersTableSeeder难到真的是因为老了吗?UsersTableSeeder的类名也是错的,晕。
更正了刚刚的问题,我再来执行一次看看。非常好,数据成功的被加入数据库了。
总算成功了咦,命令行还输出了两个“sb”是什么鬼?为了测试seeder中的某一部分代码执行到了没有,我在代码中添加了:
dump('sb');
当然是有点儿苦中作乐的意思,你也可以输出变量的值,判断运行情况。
为什么在写程序的时候总会遇到以前从来没遇到的新问题呢?路漫漫其修远兮……
网友评论