美文网首页
利用Seeder生成网站初始数据

利用Seeder生成网站初始数据

作者: VincentH | 来源:发表于2017-10-16 10:06 被阅读0次

    Seeder 是laravel的一个新概念,字面意思为播种机。Seeder 解决的是我们在开发 web 应用的时候,需要手动向数据库中填入假数据的繁琐低效问题。

    首先我们运行一下代码创建seeder文件:

    php artisan make:seeder ArticleSeeder
    

    我们会发现database/seeds线面多了一个ArticleSeeder.php文件,
    我们修改文件中的run方法

    public function run()
    {
        DB::table('articles')->delete();
    
        for ($i=0; $i < 10; $i++) {
            \App\Article::create([
                'title'   => 'Title '.$i,
                'body'    => 'Body '.$i,
                'user_id' => 1,
            ]);
        }
    }
    

    接下来将ArticleSeeder注册到系统内,修改 database/seeds/DatabaseSeeder.php 中的 run 函数为:

    public function run()
    {
        $this->call(ArticleSeeder::class);
    }
    

    由于 database 目录没有像 app 目录那样被 composer 注册为 psr-4 自动加载,采用的是 psr-0 classmap 方式,所以我们还需要运行以下命令把 ArticleSeeder.php
    加入自动加载系统,避免找不到类的错误:

    composer dump-autoload
    

    然后执行seed

    php artisan db:seed
    

    这时候刷新一下数据库中的 articles 表,会发现已经被插入了 10 行假数据

    相关文章

      网友评论

          本文标题:利用Seeder生成网站初始数据

          本文链接:https://www.haomeiwen.com/subject/ptudextx.html