为了账号安全,请及时绑定邮箱和手机立即绑定

未找到 Laravel Seeder

未找到 Laravel Seeder

PHP
30秒到达战场 2021-08-28 17:15:01
创建表后,我在迁移期间运行了一些播种机。这是我的迁移文件create_institutions_tableuse Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;class CreateInstitutionsTable extends Migration{    /**     * Run the migrations.     *     * @return void     */    public function up()    {        Schema::create('institutions', function (Blueprint $table) {            $table->bigIncrements('id');            $table->string('name');            $table->string('code');            $table->timestamps();            $table->softDeletes();        });        $seeder = new InstitutionsSeeder();        $seeder->run();        $seeder2 = new UsersSeeder();        $seeder2->run();        Schema::table('users', function (Blueprint $table) {            $table->foreign('institution_id')->references('id')->on('institutions');        });    }    /**     * Reverse the migrations.     *     * @return void     */    public function down()    {        Schema::dropIfExists('institutions');    }}这是 InstitutionsSeederuse Illuminate\Database\Seeder;class InstitutionsSeeder extends Seeder{    /**     * Run the database seeds.     *     * @return void     */    public function run()    {        DB::table('institutions')->insert([            'name' => 'Institution One',            'code' => 'I1',        ]);    }}这是 UsersSeederuse Illuminate\Database\Seeder;class UsersSeeder extends Seeder{    /**     * Run the database seeds.     *     * @return void     */    public function run()    {        DB::table('users')->insert([            'first_name' => 'Admin',            'last_name' => 'Istrator',            'email' => 'admin@example.com',            'institution_id' => '1',            'password' => '$2y$10$/wYQaaaaaaagrtyh64gbdt4yuhr32l4VmFHI.sINMR/9LXsj1MTy',        ]);    }}据我所知,播种机之间没有真正的区别,但是UsersSeeder在InstitutionsSeeder工作正常的情况下尝试实例化类时迁移失败。为什么不UsersSeeder工作?
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

两种可能的解决方案:

  1. 检查类的命名空间

  2. 运行 composer dump-autoload :(composer dump-autoload你可以这里阅读文档


查看完整回答
反对 回复 2021-08-28
?
catspeake

TA贡献1111条经验 获得超0个赞

每次创建新的播种机运行composer dump-autoload命令时。之后,只需使用php artisan db:seed命令运行播种机。希望这会奏效!


查看完整回答
反对 回复 2021-08-28
  • 2 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信