模型工厂 (Factory)"/>
Laravel 中使用模型工厂 (Factory)
- 使用
模型工厂Factory
来填充数据
- 生成对应数据表的模型文件
php artisan make:model Models/模型名
,一般为单数形式 - 生成模型工厂文件
php artisan make:factory 工厂名
,工厂名一般是模型名称+Factory
,大驼峰命名,如ManagerFactory
<?php// 引入模型文件use App\Models\Manager;use Faker\Generator as Faker;
// 修改为指定的模型$factory->define(Manager::class, function (Faker $faker) {return ['username' => $faker->name,'password' => bcrypt('123456'),'gender' => rand(1,3),'mobile' => $faker->phoneNumber,'email' => $faker->unique()->email,'role_id' => rand(1,6),'created_at' => date('Y-m-d H:i:s',time()),'status' => rand(1,2)];});
- 生成
Seeder
文件
php artisan make:seeder ManagerSeeder
<?php// 引入模型文件use \App\Models\Manager;use Illuminate\Database\Seeder;class ManagerTableSeeder extends Seeder{public function run(){// 生成10条测试数据$managers = factory(Manager::class)->times(10)->make();// 添加到数据库Manager::insert($managers->toArray());}}
- 执行填充
php artisan make:refresh
重置数据库(可以不用这一步)
php artisan db:seed ---class=ManagerTableSeeder
执行数据填充
- 注 :
如果想要填充的数据本土化,则需要在
config/app.php
文件中的faker_locale
选项设置为自己想要的语言(前提是laravel中已经安装了该语言),如汉语则可以设置为faker_locale = 'zh_CN'
更多推荐
Laravel 中使用模型工厂 (Factory)
发布评论