使用laravel模型工厂制造假数据

laravel使用模型工厂批量插入假数据

使用到的文件有:

  • 模型工厂:database\ModelFactoty.php
  • 模型文件: App\Models\BlogArticle
  • seed:database\seeds\ArticlesTableSeeder

目标:在articles表中创建50条记录


1.创建seed填充器

php artisan make:seeder ArticlesTableSeeder
//将会在database\seeds\下创建ArticlesTableSeeder填充器

2.在AticlesTbaleSeeder中的run方法插入工厂

factory('App\Models\BlogArticle',20)->create()->each(function ($u){
            $u->posts()->save(factory('App\Post')->make());
        });

3.在ModelFactory.php中定义改工厂模型

$factory->define(App\Models\BlogArticle::class, function (Faker\Generator $faker) {
    static $password;

    return [
        'title' => $faker->name,
        'uid' => 1,
        'image_url' => 'url',
        'content' => str_random(10),
    ];
});
//return参数即为表中你想填充的数据

4.运行填充器

php artisan db:seed --class=ArticlesTableSeeder

数据库的表articles就会多出20条数据了~

最后修改:2019-05-27 11:04:27
1