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 行假数据
网友评论