【问题标题】:Why does php artisan migrate fresh --seed is not working properly为什么 php artisan migrate fresh --seed 不能正常工作
【发布时间】:2021-03-26 14:03:09
【问题描述】:

开发人员您好,我对 php artisan migrate:refresh --seed VS php artisan db:seed 有疑问,我只是想问一下,因为我对 php artisan 有疑问migrate:refresh --seed,但是当我使用 php artisan db::seed 时它可以正常工作

现在我在播种机上创建的数据没有播种到表中。不知道问题出在哪里

播种:VehicleModelsSeeder

种子:VehicleModelsSeeder(0 秒)

这是我的车辆模型播种机类

    <?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use App\Vehicle;
use App\VehicleModel;

class VehicleModelsSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //

        $vehicles = Vehicle::all();
        foreach($vehicles as $vehicles_data) {
            VehicleModel::forceCreate([
                'name' => Str::random(5),
                'vehicle_id' => $vehicles_data->id
            ]);

        }
        

    }
}

【问题讨论】:

    标签: laravel


    【解决方案1】:

    默认情况下,db:seed 命令运行Database\Seeders\DatabaseSeeder 类。

    有两种解决方案:

    1.您需要在默认播种机的运行方法中调用您的其他播种机。

    database/seeders/DatabaseSeeder.php

    public function run()
        {
            $this->call([
                VehicleModelsSeeder::class
            ]);
        }
    

    然后:

    php artisan migrate:refresh --seed
    

    2。您可以使用--class 标志指定要运行的播种机,但在这种情况下,您需要分别运行refreshmigrate 命令:

    php artisan migrate:refresh
    php artisan db:seed --class:VehicleModelsSeeder
    

    更多信息:Laravel database seeding documentation

    【讨论】:

      猜你喜欢
      • 2021-02-28
      • 2021-01-10
      • 1970-01-01
      • 2020-08-03
      • 2016-11-24
      • 2017-04-06
      • 2021-09-25
      • 2020-03-21
      • 2016-07-16
      相关资源
      最近更新 更多