簡體   English   中英

目標 class [PersonTableSeeder] 不存在

[英]Target class [PersonTableSeeder] does not exist

我正在嘗試運行php artisan db:seed但在運行此命令php artisan db:seed --class=PersonTableSeeder出現此錯誤:

Target class [PersonTableSeeder] does not exist.
database/seeders/DatabaseSeeder.php:14
          Illuminate\Database\Seeder::call("PersonTableSeeder")
    
          +24 vendor frames
          34  artisan:37
          Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

PS 每個人都說要運行composer dump-autoload但這並不能幫助我解決這個問題。 我也嘗試了這些命令但沒有結果:

    php artisan optimize
    php artisan clear:cache
    composer clearcache
    composer dump-autoload

我還確保 DatabaseSeeder 和 PersonTableSeeder 文件都在同一個文件夾中

這是我的代碼:

DatabaseSeeder.php

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        $this->call(PersonTableSeeder::class);
    }
}

PersonTableSeeder:

<?php

use Illuminate\Database\Seeder;
use App\Person;

class PersonTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory(Person::class, 50)->create();
    }
}

個人工廠:

<?php

use Faker\Generator as Faker;

$factory->define(App\Person::class, function (Faker $faker) {
    return [
        'first_name' => $faker->firstName,
        'last_name' => $faker->lastName,
        'email' => $faker->safeEmail,
        'phone' => $faker->phoneNumber,
        'city' => $faker->city,
    ];
});

對於那些登陸此頁面仍在尋找答案的人,如果您運行composer dump-autoload它將解決您的問題!

很簡單,只要做一個

composer dump-autoload

它對我有用

問題出在 Laravel 的版本上,因為我正在學習較舊的教程。 教程是5.8.11版本我新建的laravel是8.9版本。 在克隆 github repo 並安裝所有東西后,我讓它工作了。 但是想了解為什么我會收到此錯誤,因為將 laravel 從 8.9 降級到 5.8.11 真的很痛苦,現在我收到了一個奇怪的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM