数据库填充
数据库填充是一种初始化数据库数据的方法。在开发过程中,经常需要填充一些测试数据或者默认值,使用数据库填充可以方便地进行数据初始化。
创建填充文件
在ThinkPHP中,可以使用make:seeder
命令来创建填充文件。例如,要创建一个名为UsersTableSeeder
的填充文件,可以执行如下命令:
php think make:seeder UsersTableSeeder
执行该命令后,将在database/seeds
目录下创建一个新的填充文件,文件名为UsersTableSeeder.php
。
在该文件中,可以使用run
方法来定义要填充的数据。例如,以下是一个填充users
表的示例:
<?php
use thinkseederSeeder;
class UsersTableSeeder extends Seeder
{
public function run()
{
$data = [
[
'username' => 'admin',
'password' => password_hash('password', PASSWORD_DEFAULT),
'email' => 'admin@example.com',
'status' => 1,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s'),
],
[
'username' => 'user1',
'password' => password_hash('password', PASSWORD_DEFAULT),
'email' => 'user1@example.com',
'status' => 1,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s'),
],
[
'username' => 'user2',
'password' => password_hash('password', PASSWORD_DEFAULT),
'email' => 'user2@example.com',
'status' => 1,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s'),
],
];
$this->table('users')->insert($data)->save();
}
}
在上面的示例中,run
方法中定义了要填充的数据,包括添加了3个用户。其中,使用了table
方法来指定要操作的表,使用了insert
方法来插入数据,并使用了save
方法来保存数据。