【问题标题】:my seeder doesn't store info in my database我的播种机没有在我的数据库中存储信息
【发布时间】:2023-03-31 14:39:01
【问题描述】:

我正在尝试为这家公司的不同角色播种我的角色表,但是当我运行“php artisan migrate:fresh --seed”时,我没有收到错误消息,但我的数据库中没有数据。

<?php

use App\Role;
use Illuminate\Database\Seeder;

class RoleSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $roles = [
            [
                'name' => 'Admin',
            ],
            [
                'name' => 'Klant',
            ]
        ];

        foreach ($roles as $role){
            Role::insert([
                'name'  => $role['name'],
                'created_at' => now(),
                'updated_at' => now()
            ]);
        }
    }
}

【问题讨论】:

  • 您的播种机是否运行控制台输出?你添加到DatabaseSeeder.php了吗?
  • @kerbholz 感谢您提供我忘记的信息,我是 laravel 的新手,所以感谢您的帮助

标签: database laravel seeding laravel-seeding laravel-7


【解决方案1】:

您必须将任何自定义播种器添加到 database/seeders/DatabaseSeeder.php 文件,因为这是在为数据库播种时默认调用的文件。

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

【讨论】:

    猜你喜欢
    • 2012-02-29
    • 2013-07-09
    • 2018-10-15
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2010-12-05
    相关资源
    最近更新 更多