当前位置 博文首页 > laravel的数据表填充器使用详解

    laravel的数据表填充器使用详解

    作者:陆小天的代码之旅 时间:2021-09-09 19:11

    目录
    • 一、数据表填充器
      • 1.1 填充器(种子文件)的创建与编写
        • 1.1.2、创建填充器
        • 1.1.3、【重点】编写填充器代码
      • 1.2 执行填充器文件

      一、数据表填充器

      填充操作就是往数据表中写测试数据的操作(增加操作),在开发阶段是很实用的功能。

      1.1 填充器(种子文件)的创建与编写

      1.1.1、填充器默认的所在目录

      在这里插入图片描述

      1.1.2、创建填充器

      php artisan make:seeder 填充器名称 【约定俗成的写法,大写表名 + TableSeeder】
      例:以paper为例,则名称应该为PaperTableSeeder
      php artisan make:seeder PaperTableSeeder
      创建好的种子文件:

      在这里插入图片描述

      1.1.3、【重点】编写填充器代码

      实现往数据表中写入数据
      注意:在填充器文件中可以使用DB门面去新增数据,但是需要注意,DB门面在使用的时候不需要用户自己引入,一旦引入则报错,可以直接使用。建议使用DB门面方法写入新的数据。
      使用DB类进行数据写入:

      <?php
      
      namespace Database\Seeders;
      
      use Illuminate\Database\Seeder;
      
      class PaperTableSeeder extends Seeder
      {
          /**
           * Run the database seeds.
           *
           * @return void
           */
          public function run()
          {
              \DB::table('paper') -> insert([
                  [
                      'paper_name'  => '小学1年级语文考试',
                      'total_score' => 100,
                      'start_time'  => time() + 86400,
                      'duration'    => 120,
                      'status'      => 1
                  ],
                  [
                      'paper_name'  => '小学1年级数学考试',
                      'total_score' => 100,
                      'start_time'  => time() + 86400,
                      'duration'    => 120,
                      'status'      => 1
                  ],
                  [
                      'paper_name'  => '小学1年级体育考试',
                      'total_score' => 100,
                      'start_time'  => time() + 86400,
                      'duration'    => 120,
                      'status'      => 1
                  ],
              ]);
          }
      }

      在这里插入图片描述

      1.2 执行填充器文件

      命令:
      php artisan db:seed --class=需要执行的种子文件名(不带.php)
      种子文件不像迁移文件,迁移操作有单独的对应关系表去记录,由于种子文件的执行没有任何的记录,所以在执行种子文件的时候需要指定需要执行的种子文件。

      在这里插入图片描述
      在这里插入图片描述

      jsjbwy
      下一篇:没有了