在有种子的laravel 8中,我遇到了这个问题目标类[TableSeeder]不存在 [英] in laravel 8 with seeding , i has this issue Target class [TableSeeder] does not exist
本文介绍了在有种子的laravel 8中,我遇到了这个问题目标类[TableSeeder]不存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Illuminate\Contracts\Container\BindingResolutionException
Target class [Database\Seeders\CountriesTableSeeder] does not exist.
at C:\......\blog\vendor\laravel\framework\src\Illuminate\Container\Container.php:811
807▕
808▕ try {
809▕ $reflector = new ReflectionClass($concrete);
810▕ } catch (ReflectionException $e) {
➜ 811▕ throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
812▕ }
813▕
814▕ // If the type is not instantiable, the developer is attempting to resolve
815▕ // an abstract type such as an Interface or Abstract Class and there is
1 C:\......\blog\vendor\laravel\framework\src\Illuminate\Container\Container.php:809
ReflectionException::("Class Database\Seeders\CountriesTableSeeder does not exist")
2 C:\......\blog\vendor\laravel\framework\src\Illuminate\Container\Container.php:809
ReflectionClass::__construct("Database\Seeders\CountriesTableSeeder")
推荐答案
来自 laravel 8
要适应这些更改,请将 Database \ Seeders
名称空间添加到播种器类.
From laravel 8 Seeders and factories are now namespaced
To accommodate for these changes, add Database\Seeders
namespace to your seeder classes.
namespace Database\Seeders;
此外,将所有种子文件从先前的 database/seeds
目录移动到 database/seeders
文件夹.
In addition, move all seeder files from previous database/seeds
directory to database/seeders
folder.
在您的情况下,请删除以 use Database \ Seeders \ ...
开头的所有行来自 DatabaseSeeder.php
文件
In your case remove all lines started with use Database\Seeders\...
from DatabaseSeeder.php
file
它应该解决问题,
您还可以运行 dump-autoload &有种子的新移民,
You can also run dump-autoload & fresh migration with seed,
composer dump-autoload
php artisan migrate:fresh --seed
这篇关于在有种子的laravel 8中,我遇到了这个问题目标类[TableSeeder]不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文