Use la fábrica de modelos para el llenado de datos en laravel

  • Genere una tabla de datos (todas las lecciones se usan como demostración en este caso)

php artesanal make: migración create_lessons_table

  • Modificar las propiedades del campo en la tabla

    • Agregue campos en el archivo de migración (por ejemplo, base de datos / migraciones / {time} _create_lessons_table.php)
    <?php
    use Illuminate\Database\Migrations\Migration;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Support\Facades\Schema;
    
    class CreateLessonsTable extends Migration
    {
       /**
        * Run the migrations.
        *
        * @return void
        */
       public function up()
       {
           Schema::create('lessons', function (Blueprint $table) {
               $table->id();
               $table->string('title');
               $table->text('body');
               $table->boolean('free');
               $table->timestamps();
           });
       }
    
       /**
        * Reverse the migrations.
        *
        * @return void
        */
       public function down()
       {
           Schema::dropIfExists('lessons');
       }
    }
    
  • Realizar migración de base de datos

    php artesanal migrar

  • Crear datos usando una fábrica de modelos

    • Crear modelo de archivo de clase de fábrica

    marca artesanal php: factory LessonFactory

    <?php
    
     /** @var \Illuminate\Database\Eloquent\Factory $factory */
     
     use App\Models\Lesson;
     use Faker\Generator as Faker;
     
     $factory->define(Lesson::class, function (Faker $faker) {
         return [
             'title' => $faker->title,
             'body' => $faker->paragraph,
             'free' => $faker->boolean()
         ];
     });
    

    注:在上面一定要引入对应的模型文件

  • Generar archivo Seeder

    php artisan make: seeder LessonsTableSeeder

    <?php
    
      use Illuminate\Database\Seeder;
      use App\Models\Lesson;
      
      class LessonsTableSeeder extends Seeder
      {
          /**
           * Run the database seeds.
           *
           * @return void
           */
          public function run()
          {
              $lessons = factory(Lesson::class)->times(30)->make();
              Lesson::insert($lessons->toArray());
          }
      }
      // 执行数据填充的时候会运行run方法中的内容
      // times(个数)为要填充的数据个数
      // make()是生成数据
      // insert()中插入的数据格式必须是数组,所以用toArray()转换为数组格式
    
  • Llenar datos

    Artisan db PHP: SEED
    PHP artesanal db: = LessonsTableSeeder especificar la SEED --class lleno Sembradora
    PHP artesanal del migran: Fresh --seed borrar todas las tablas y toda la re-migración, se puede utilizar para reconstruir la base de datos

145 artículos originales publicados · Me gusta 38 · Visitas 170,000+

Supongo que te gusta

Origin blog.csdn.net/yehuaner33/article/details/104917209
Recomendado
Clasificación