zoukankan      html  css  js  c++  java
  • Laravel5.1 如何生成测试数据

    laravel有非常方便的方法生成测试用的数据,大概的流程是这样:

    1. 前提是我们的数据库已经配置好,并且生成了Model和数据表。
    2. artisan控制台生成一个seeder: php artisan make:seeder xxx(命名自定)
    3. 打开database/factories/ModelFactory.php写如何生产模型。
    4. 在创建的seeder中调用factory。
    5. artisan控制台:php artisan migrate --seed

    Why? 为什么要这样生成测试数据?

    答:在开发中,数据库没有导入真正的数据时 我们需要使用一些测试数据去测试我们的项目。

    这样生成有什么好处?

    答:很便捷,不用我们手写测试数据,节省了大量的时间。

    步入正题 如何写这些代码?

    1、artisan控制台输入命令来创建一个seeder:

    php artisan make:seeder Lessons_table_seeder

    输入好后 这个seeder就在 database/seeds 文件夹中。

    2、在database/factories/ModelFactory.php文件中编写生成数据的逻辑:

    $factory->define(AppLesson::class, function (FakerGenerator $faker) {
        return [
            'title' => $faker->sentence,
            'body' => $faker->paragraph,
            'free' => $faker->boolean()
        ];
    });

    3、打开刚刚创建的seeder,调用factory:

        public function run()
        {
            factory(AppLesson::class, 20)->create();
        }

    create方法中你可以自己设置一些属性。

    在DatabaseSeeder.php中调用这个seeder:

        public function run()
        {
            Model::unguard();
    
            $this->call('Lessons_table_seeder');
    
            Model::reguard();
        }

    4、artisan控制台中输入:

    php artisan migrate --seed

    然后去检查你的数据库吧,测试数据已经生成了。

  • 相关阅读:
    VC获取系统时间、程序运行时间
    数学题
    最小费用流
    最大流模板
    计划
    算法竞赛入门经典 训练指南 之 图论(完全版持续更新)
    uva 11324 The Largest Clique 强连通分量求缩点构造DAG
    hdu 4288 Coder 一个很水的版本 >_<
    hoj 2939 Coin Question
    成都网络赛 1002 Control 1005 Food
  • 原文地址:https://www.cnblogs.com/Alex-sk/p/7113578.html
Copyright © 2011-2022 走看看