我想将一些数据放入表中,所以我想使用 DatabaseSeeder 但是当我尝试:php artisan db:seed 时,出现此错误:
ReflectionException : Class DatabaseSeeder does not exist
at /home/bruno/projetconcert/vendor/laravel/framework/src/Illuminate/Container/Container.php:767
763| if ($concrete instanceof Closure) {
764| return $concrete($this, $this->getLastParameterOverride());
765| }
766|
`enter code here`> 767| $reflector = new ReflectionClass($concrete);
我已经尝试执行 composer dump-autoload 或更改命名空间或在 composer.json 的“autoload”中使用另一个目录,但没有任何效果......
这里有 2 个文件:
<?php
namespace database\seeds;
namespace projetconcert;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(CategoryPlaceSeeder::class);
}
}
第二个:
<?php
namespace database\seeds;
namespace projetconcert;
use Illuminate\Database\Seeder;
use DB;
class CategoryPlaceSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
DB::table('category_places')->insert([
[
'id' => 1,
'category_name' => 'balcon',
],
[
'id' => 2,
'category_name' => 'terasse',
],
[
'id' => 3,
'category_name' => 'debout',
],
]);
}
}
如果有人有任何想法,它会对我的项目有所帮助。谢谢
最佳答案
移除
namespace database\seeds;
namespace projetconcert;
来自那些文件。
顺便说一句,您可以为每个文件定义多个命名空间,但不建议这样做,这不是您这样做的方式或原因。更多信息请看这里:http://php.net/manual/en/language.namespaces.definitionmultiple.php
关于php - 类 DatabaseSeeder 不存在......播种机在 laravel 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50440360/