【问题标题】:'php artisan db:seed' doesn't work in Laravel5.4'php artisan db:seed' 在 Laravel5.4 中不起作用
【发布时间】:2017-09-18 05:07:02
【问题描述】:

我已经开始学习 laravel 5.4。为了填充我的数据库,我完成了 BreedsTableSeeder.php 文件。

enter code here
class BreedsTableSeeder extends Seeder {
    public function run() {
        DB::table('breeds')->insert([
            ['id' => 1, 'name' => "Domestic"],
            ['id' => 2, 'name' => "Persian"],
            ['id' => 3, 'name' => "Siamese"],
            ['id' => 4, 'name' => "Abyssinian"],
        ]);
    }
}

然后我完成 DatabaseSeeder.php。

enter code here
<?php
    use Illuminate\Database\Seeder;

    class DatabaseSeeder extends Seeder {
        public function run() {
            $this->call(BreedsTableSeeder::class);
        }
    }  
?>

然后,我通过调用它,使用以下命令为数据库播种。

$ php artisan db:seed

但是出现如下错误

* [反射异常] 类 BreedsTableSeeder 不存在*

当我使用时,

php artisan db:seed --class="BreedsTableSeeder"

结果是一样的。

当我使用时,

使用 Illuminate\Database\Eloquent\Model;在 DatabaseSeeder.php 文件上

它会被自动删除。

【问题讨论】:

  • 你能把你的播种机的全部代码贴出来吗?我假设您只是缺少正确的名称空间或顶部的使用语句。 use Illuminate\Database\Seeder;

标签: laravel composer-php


【解决方案1】:

你需要做的

composer dumpautoload

一旦你创建了新的类

编辑

错误是这样发生的。 “找不到类‘播种机’

你的播种机缺少

use Illuminate\Database\Seeder;

【讨论】:

  • 谢谢。能详细解释一下吗?
  • 我已经完成了 $composer dumpautoload,并再次为数据库播种。 $php 工匠数据库:种子。像这样发生错误。 “找不到类‘播种机’”
  • 您很可能缺少必需的use。参见示例:laravel.com/docs/5.4/seeding#writing-seeders
  • 我正在尝试添加使用 Illuminate\Database\Eloquent\Model;但它被自动删除了。
  • 如果你不使用它,模型是无关紧要的。 Seeder 很重要。
【解决方案2】:

我遇到了这个问题。现在我解决了。

你需要在你的控制台中运行:

composer dump-autoload

生成新的类映射然后运行:

php artisan db:seed

我刚刚测试过了。它在 Laravel 5 中运行没有问题

【讨论】:

    猜你喜欢
    • 2015-06-25
    • 1970-01-01
    • 2015-11-11
    • 2015-07-16
    • 2016-07-12
    • 1970-01-01
    • 2017-12-31
    • 2020-08-07
    • 2021-05-10
    相关资源
    最近更新 更多