Laravel factory生成测试数据
php artisan tinker
tinker 中执行
factory(App\Post::class , 10)->create(); 存到数据库 factory(App\Post::class, 10)->make(); 打印在界面上
github: 参考文档:
https://github.com/fzaninotto/Faker
<?php /* |-------------------------------------------------------------------------- | Model Factories |-------------------------------------------------------------------------- | | Here you may define all of your model factories. Model factories give | you a convenient way to create models for testing and seeding your | database. Just tell the factory how a default model should look. | */ /** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\User::class, function (Faker\Generator $faker) { static $password; return [ 'name' => $faker->name, 'email' => $faker->unique()->safeEmail, 'password' => $password ?: $password = bcrypt('secret'), 'remember_token' => str_random(10), ]; }); $factory->define(App\Post::class, function(Faker\Generator $faker){ return [ 'title' => $faker->sentence(6, true), 'content' => $faker->text(500), 'user_id' => function() { return factory(\App\User::class)->create()->id; } ]; });