我在我的应用程序中添加了一个播种器(从其他位置复制并粘贴),并将该调用包括在Database Seeder run()函数中。即使存在该类,我也得到上面的异常。
我怀疑也许某些文件可能已被缓存,所以我清除了应用程序缓存,但仍然遇到相同的错误。
DatabaseSeeder.php
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// $this->call(CustomersTableSeeder::class);
$this->call(RolesTableSeeder::class);
$this->call(ManagerStatesTableSeeder::class);
$this->call(ManagersTableSeeder::class);
$this->call(CountsTableSeeder::class);
$this->call(CategoriesTableSeeder::class);
}
}
播种器文件CategoriesTableSeeder.php
<?php
use Illuminate\Database\Seeder;
class CategoriesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
\DB::table('categories')->insert([
[
'description' => 'Perfumes and Deo',
'slug' => 'perfumes-and-deo',
'parent' => 0,
'level' => 1,
'cna' => '2|',
'created_at' => \Carbon\Carbon::now(),
'updated_at' => \Carbon\Carbon::now(),
],
[
'description' => 'Perfumes',
'slug' => 'perfumes',
'parent' => 1,
'level' => 2,
'cna' => NULL,
'created_at' => \Carbon\Carbon::now(),
'updated_at' => \Carbon\Carbon::now(),
]
]);
}
}
错误:
ReflectionException:类CategoriesTableSeeder不存在
在C:\ wamp \ www \ ma-sales-tracker \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php:788
异常跟踪:
1 ReflectionClass :: __ construct(“ CategoriesTableSeeder”) C:\ wamp \ www \ ma-sales-tracker \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php:788
2 Illuminate \ Container \ Container :: build(“ CategoriesTableSeeder”) C:\ wamp \ www \ ma-sales-tracker \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php:667
关于可能是什么原因的任何想法?预先感谢大家
答案 0 :(得分:0)
我运行Composer dump-autoload,瞧!发挥了魅力。同样,正如Alex Mac所建议的那样,请始终使用工匠命令生成Seeders。
答案 1 :(得分:0)
无论何时创建任何新文件,请始终运行以下命令:-
composer dumpa // composer dump-autoload
php artisan optimize:clear
因为在bootstrap文件夹中,它可以跟踪每个文件和其他配置等。