• Laravel5.1 填充数据库


    当我们创建好表结构后 通常都要生成一些测试用的数据来测试,应对这个场景呢 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(AppUser::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
  • 相关阅读:
    从零开始系统深入学习android(实践让我们开始写代码Android框架学习7.App Widgets)
    用才智征服天下,用信誉赢得未来
    微众时代看网络营销
    营销不是传奇,欠的只是方法
    名扬天下,从这里出发
    【缅怀妈妈系列诗歌】之二十六:贺诞母亲
    营销密码,带你走进神奇地带
    打造“80后”第一营销品牌
    如果有一天
    把你写进诗里
  • 原文地址:https://www.cnblogs.com/sun-kang/p/7450960.html
Copyright © 2020-2023  润新知