Laravel study notes (8) using the plant model SEEDER or import data in bulk

  1. 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
  1. 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'
  1. Reset Data Sheet (ID lets start from scratch)
	artisan migrate:fresh

Reset and run the filling

	artisan migrate:fresh --seed
Published 40 original articles · won praise 0 · Views 785

Guess you like

Origin blog.csdn.net/qj4865/article/details/104181724