php - 类 DatabaseSeeder 不存在......播种机在 laravel 中不工作

标签 php database laravel migration

我想将一些数据放入表中,所以我想使用 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/

相关文章:

php - 在 Symfony 2.0 中显示 mysql blob pdf 文件

php - 如何修复 'No Suitable Nodes'错误?

Mysql创建 View 并逐渐增加日期时间字段

mysql - 添加/编辑 MYSQL 键

laravel - 在 Laravel 中嵌套共享子资源

laravel - 如何在 laravel 身份验证中处理自定义列名、用户名和密码

php - Laravel 按动态 ID 数组对集合进行排序

php - 用 Preg_replace 删除汉字?

javascript - 预填充字段 - WordPress 平台上的 Freshdesk

mysql - 在另一列中重用列的结果