laravel 数据工厂
2018年9月1日1.创建数据工厂
这个命令会创建 一个模型和迁移文件,还有数据工厂
1 |
php artisan make:model Models/UserAddress -fm |
2.编辑数据工厂文件
设置工厂中英文编辑文件config\app.php
添加这行
1 |
'faker_locale' => 'zh_CN', |
修改数据工厂文件名因为自动生成不符合我们的习惯所以要改
1 2 |
mv database/factories/ModelsUserAddressFactory.php database/factories/UserAddressFactory.php composer dumpautoload #使用composer重新载入 |
打开数据工厂文件 database\factories\UserAddressFactory.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php use Faker\Generator as Faker; $factory->define(App\Models\UserAddress::class, function (Faker $faker) { $addresses = [ ["北京市", "市辖区", "东城区"], ["河北省", "石家庄市", "长安区"], ["江苏省", "南京市", "浦口区"], ["江苏省", "苏州市", "相城区"], ["广东省", "深圳市", "福田区"], ]; $address = $faker->randomElement($addresses); return [ 'province' => $address[0], 'city' => $address[1], 'district' => $address[2], 'address' => sprintf('第%d街道第%d号', $faker->randomNumber(2), $faker->randomNumber(3)), 'zip' => $faker->postcode, 'contact_name' => $faker->name, 'contact_phone' => $faker->phoneNumber, ]; }); |
3测试数据工厂
1 2 |
php artisan tinker factory(App\Models\UserAddress::class)->make() |
4.填充数据
1 |
factory(App\Models\UserAddress::class, 3)->create(['user_id' => 1]) |