- Use seeder insert data
Generate UserSeeder file
artisan make:seeder UserSeeder
Create a data file in UserSeeder
public function run()
{
\App\User::create(['name'=>'test', 'email'=>'[email protected]', 'password'=>bcrypt(123465)]);
}
Add code running DatabaseSeeder file
$this->call(UserSeeder::class);
Seeder perform file import data into the database
artisan db:seed
- Using the model plant (factory) batch append data
Generating a model plant (refer UserFactory default), which is open source library faker, random data can be generated
# 创建模型工厂
php artisan make:factory PostFactory
# 配置模型
use Faker\Generator as Faker;
$factory->define(App\Models\User::class, function (Faker $faker) {
return [
'username' => $faker->unique()->username,
'email' => $faker->unique()->safeEmail,
'mobile' => $faker->unique()->phoneNumber,
'password' => bcrypt('123456'),
'nickname' => $faker->unique()->name,
'reg_ip' => app('request')->ip(),
'last_login_ip' => app('request')->ip(),
'remember_token' => str_random(10),
];
});
Generating data
# 进入命令行
php artisan tinker
# 在命令行中
# 生成测试数据但不写入数据库
factory(App\Models\User::class, 5)->make();
# 生成的测试数据并写入数据库
factory(App\Models\User::class, 5)->create();
PS:或者在DatabaseSeeder文件中写入后运行也可以,参考1
Generation Chinese data
# 配置 app.php 添加以下配置项
'faker_locale' => 'zh_CN'
- Reset Data Sheet (ID lets start from scratch)
artisan migrate:fresh
Reset and run the filling
artisan migrate:fresh --seed