利用Seeder生成网站初始数据

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 行假数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,473评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,633评论 25 709
  • Welcome 目前网络上充斥着大量的陈旧信息,让PHP新手误入歧途,传播着错误的实践和糟糕的代码,这必须得到纠正...
    layjoy阅读 21,785评论 7 118
  • 在北京地铁上,发现一男一女,俩人身旁都有一行李箱和手提物品,看上去是要出行,女的的着装从上到下都很有质感,...
    竹梦子阅读 929评论 0 1
  • 使用CDC类可以方便的完成图形与文本的操作 CDC:是设备上下文类的基类,用于屏幕窗口的绘制和非屏幕显示的打印机输...
    夏维阅读 799评论 0 0