• 技术文章 >php框架 >Laravel

    laravel如何快速实现数据填充(使用seeder)

    藏色散人藏色散人2021-11-03 15:56:30转载330
    下面由Laravel教程栏目带大家介绍laravel利用seeder实现数据表中填充数据,希望对大家有所帮助!

    laravel利用seeder实现数据表中填充数据

    给大家演示一下如何快速填充数据表中的数据

    首先要执行php artisan命令 会出现各种命令指示 查找到

    php artisan make:seeder

    根据命令指示创建相应的文件,如下所示

    php artisan make:seeder TestSeeder

    首先我先创建一个test表,如下所示

    TestSeeder.php文件内容如下所示

    <?php
    
    use Illuminate\Database\Seeder;
    
    class TestSeeder extends Seeder
    {
        /**
         * Run the database seeds.
         *
         * @return void
         */
        public function run()
        {
            DB::table('test')->insert([
                'name' => str_random(10),
                'sex' => rand(1,2), // 1男 2女
                'email' => str_random(10).'@qq.com',
                'password' => bcrypt('123456'), // bcrypt为hash加密
            ]);
        }
    }

    执行如下命令进行填充假数据

    php artisan db:seed --class=TestSeeder


    每添加一条都要执行一边命令,这样会很麻烦,不如写一个for循环来一次新插入

    for ($x=0; $x<=10; $x++) {
         DB::table('test')->insert([
              'name' => str_random(10),
              'sex' => rand(1,2), // 1男 2女
              'email' => str_random(10).'@qq.com',
              'password' => bcrypt('123456'), // bcrypt为hash加密
         ]);
    }

    数据库的数据展示如下:

    如需要同时添加多个表的测试数据,需要在DatabaseSeeder.php中添加:

    <?php
    
    use Illuminate\Database\Seeder;
    
    class DatabaseSeeder extends Seeder
    {
        public function run()
        {
            // $this->call(UsersTableSeeder::class);
             $this->call(CreateDepartmentsSeeder::class);
             $this->call(CreateUsersSeeder::class);
             $this->call(CreateWagesSeeder::class);
        }
    }

    执行如下命令进行填充多个表的测试数据

    php artisan db:seed
    当我们执行  php artisan db:seed 
    提示 class UserTableSeeder does not exist
    
    这个错误基本是出现在不经过composer的时候出现的,至于为什么会出现呢?
    1.可能是你执行php artisan make:seeder UserTableSeeder 的时候,他没有把UserTableSeeder.php 写到自动加载里面去
    2.你是复制过来的
    
    解决方法: composer dump-autoload

    官方文档地址: https://laravel.com/docs/5.5/seeding#writing-seeders

    以上就是laravel如何快速实现数据填充(使用seeder)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:laravel seeder
    上一篇:Laravel目录权限你知道怎么设置吗?(两种方法) 下一篇:laravel5如何在表中添加测试数据?
    PHP编程就业班

    相关文章推荐

    • 详解怎么在Laravel中部署vue• 详解Laravel使用多数据库的方法(附代码示例)• 新鲜出炉的Laravel 速查表不要错过!• Laravel目录权限你知道怎么设置吗?(两种方法)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网