码迷,mamicode.com
首页 > 数据库 > 详细

Laravel5.1 填充数据库

时间:2017-08-30 00:48:45      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:好的   actor   cto   模型   style   insert   插入   bsp   --   

当我们创建好表结构后 通常都要生成一些测试用的数据来测试,应对这个场景呢 Laravel提供了相当好的服务 --seed

Laravel的seeder都会放在:/database/seeders 目录中,并且会提供一个DatabaseSeeder 在DatabaseSeeder的run方法中你可以调用其他你创建的seeder

 


1 创建一个Seeder

运行artisan创建:

php artisan make:seeder ArticlesSeeder

1.1 使用构建器填充

seeder中只有一个run方法 我们可以在run方法中执行我们的插入方法 在run中可以用构建器 也可以用模型工厂(关于这两点后续会写到哦)

    public function run()
    {
        DB::table(‘articles‘)->insert([
            ‘title‘ => str_random(20),
            ‘body‘ => str_random(200),
        ]);
    }

1.2 使用模型工厂填充(常用)

    public function run()
    {
        factory(\App\User::class, 10)->create();
    }

这样就创建了10个用户。

 


2 执行填充器

2.1 指定执行

比如说 咱就执行 ArticlesSeeder 这个填充器 可以这样写:

php artisan db:seed --class=ArticlesSeeder

2.2 默认执行

默认执行就是执行 DatabaseSeeder 这个填充器:

php artisan db:seed

2.3 调用自定义填充器

如果执行了 DatabaseSeeder 填充器,要不就在它的run方法中实现数据填充,要不就调用自定义填充器:

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();
        $this->call(‘ArticlesSeeder‘);
        Model::reguard();
    }
}

然后运行:

php artisan db:seed

 

Laravel5.1 填充数据库

标签:好的   actor   cto   模型   style   insert   插入   bsp   --   

原文地址:http://www.cnblogs.com/sun-kang/p/7450960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!