이 글은 Faker 데이터를 laravel에 채우는 방법에 대한 소개(코드)를 제공합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
소개: 개발을 할 때 테스트 데이터를 추가하는 것은 필수입니다. Laravel에는 매우 편리한 데이터 채우기가 내장되어 있습니다.
데이터 마이그레이션
먼저 데이터 모델 생성 및 데이터 마이그레이션 php artisan make:model Models/FakerUser -m
;php artisan make:model Models/FakerUser -m
;
只创建几个简单字段,编辑 database/migrations/{now_date}_create_faker_users_table.php
文件
/** * Run the migrations. * * @return void */7 public function up() { Schema::create('faker_users', function (Blueprint $table) { $table->increments('id'); $table->char('name', 20)->comment('姓名'); $table->string('email', 50)->comment('邮箱'); $table->tinyInteger('age')->comment('年龄'); $table->char('city', 20)->comment('城市'); $table->timestamps(); }); DB::statement("ALTER TABLE `faker_users` comment'测试用户表'"); // 表注释 }
运行数据迁移 php artisan migrate
之后数据表创建完成。
数据填充
创建数据填充文件 php artisan make:seeder FakerUsersSeeder
;
创建完成后,我们可以在 run()
方法中手动添加几条测试数据。但是好的办法,是使用模型工厂,接下来把注意力转移到模型工厂中;
创建模型工厂 php artisan make:factory FakerUsersFactory
;
在模型工厂中,可以通过 FakerGenerator
来生成测试数据,编辑 database/factories/FakerUsersFactory.php
<?php use Faker\Generator as Faker; $factory->define(\App\Models\FakerUser::class, function (Faker $faker) { return [ 'name' => $faker->name, 'email' => $faker->safeEmail, 'age' => $faker->numberBetween(8, 80),// 数字在 8-80 之间随机 'city' => $faker->city, 'created_at' => $faker->dateTimeBetween('-3 year', '-1 year'),// 时间在 三年到一年 之间 'updated_at' => $faker->dateTimeBetween('-1 year', '-5 month'),// 时间在 一年到五个月之间 ]; });
由上述代码可以很直白的看出 FakerGenerator
的作用。它可以生成的数据类型有很多,更多的类型可以看下官方文档,虽然是英文的,不过都有示例,简单易懂;
Faker
生成的数据默认是英文,可以在 config/app.php
中将 faker_locale
设置为 zh_CN
;
模型工厂写好了,接下来就是调用。目光回到数据填充文件 database/seeds/FakerUsersSeeder.php
,在 run()
#🎜 🎜 #
몇 가지 간단한 필드만 생성하고 database/migrations/{now_date}_create_faker_users_table.php
파일을 편집합니다.
/** * Run the database seeds. * * @return void */ public function run() { factory(\App\Models\FakerUser::class)->times(1000)->make()->each(function ($model) { // 数据入库 $model->save(); }); }
데이터 채우기 파일 생성 php artisan make:seeder FakerUsersSeeder
;#🎜🎜 #
run()
메서드에 여러 테스트 데이터 조각을 수동으로 추가할 수 있습니다. 하지만 좋은 방법은 Model Factory를 사용한 다음 모델 팩토리에 관심을 돌리는 것입니다. 모델 팩토리 php artisan make:factory FakerUsersFactory code>;
모델 팩토리에서 FakerGenerator
를 사용하여 테스트 데이터를 생성하고 database/factories/FakerUsersFactory.php
를 편집할 수 있습니다. >
rrreee위 코드를 보면 FakerGenerator
의 기능을 확실히 알 수 있습니다. 생성할 수 있는 데이터 유형은 다양합니다. 공식 문서는 영어로 되어 있지만 예제가 포함되어 있어 이해하기 쉽습니다. > 생성됨 데이터는 기본적으로 영어로 되어 있습니다. config/app.php
에서 faker_locale
을 zh_CN
으로 설정할 수 있습니다. 🎜#모델 팩토리가 작성되고, 다음 단계는 이를 호출하는 것입니다. 데이터 채우기 파일 database/seeds/FakerUsersSeeder.php
로 돌아갑니다. run()
메서드에서 다음 코드는
rrreee#🎜입니다. 🎜#time()은 생성 횟수, make() 메소드는 모델 인스턴스를 생성하는 것이고, Each() 메소드는 생성된 모델 인스턴스를 데이터베이스에 저장하는 것입니다.
마지막 단계는 데이터 채우기를 수행하는 것입니다. Composer dump-autoload php artisan db:seed --class=FakerUsersSeeder
Test
#🎜🎜#좋아요 , 보세요. 데이터베이스의 데이터가 올바르게 생성되었는지 확인하세요. 총 개수를 보세요#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#총 개수는 문제가 없으니 10개의 데이터를 랜덤하게 살펴보세요#🎜🎜## 🎜🎜##🎜🎜##🎜🎜 ##🎜🎜##🎜🎜#데이터도 정확합니다#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#위 내용은 Faker 데이터 채우기(코드)를 사용하는 laravel의 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!