首页 > 解决方案 > Illuminate\Contracts\Container\BindingResolutionException 目标类 [HotelSeeder] 不存在

问题描述

我正在尝试按照教程使用播种机,但我总是收到此错误

Illuminate\Contracts\Container\BindingResolutionException

Target class [HotelSeeder] does not exist.

当我运行这个命令时:

php artisan db:seed

我在 database\seeders\DatabaseSeeder.php 添加这一行

$this->call(\HotelSeeder::class);

进入 up 函数

并在 database\seeders\HotelSeeder.php

<?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class HotelSeeder extends Seeder
{

**我正在使用最新版本的 laravel 8 和 phpstorm **

我已经尝试了很多解决方案,比如 composer dump-autoload 和向播种函数添加命名空间,但它们都没有奏效。提前致谢

标签: phplaravellaravel-8laravel-seeding

解决方案


好吧,我找到了解决方案:我已经启动

composer dumpautoload

然后我去了 package.json 并添加了这一行

"classmap": [
            "database"
        ],

前 :

},
    "autoload": {
        "psr-4": {

    },
"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {

我已经重新运行

composer dumpautoload

它有效!


推荐阅读