📅  最后修改于: 2023-12-03 15:39:50.510000             🧑  作者: Mango
在使用 PHP 操作数据库时,我们经常需要在控制器文件中写很长的 SQL 语句来进行数据的增删改查操作。但是这样就会让我们的代码变得难以维护和阅读。为了解决这个问题,我们可以使用 Laravel 框架提供的 db:seed
命令来在数据库中添加数据。
db 种子是一种在 Laravel 框架中用于填充数据库数据的机制。它对于开发人员来说非常有用,因为我们可以在不用手动录入大量数据的情况下快速地填充数据库。
首先,我们需要创建一个 db 种子,可以使用 Laravel 框架提供的 make:seeder
命令创建:
php artisan make:seeder UsersTableSeeder
接着,打开 database/seeds/UsersTableSeeder.php
文件,我们可以看到以下代码:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class UsersTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}
在 run()
方法中,我们可以使用 Laravel 框架提供的 insert()
方法向数据库中插入数据:
public function run()
{
DB::table('users')->insert([
'name' => Str::random(10),
'email' => Str::random(10).'@gmail.com',
'password' => Hash::make('password'),
]);
}
在这个例子中,我们只向 users
表中添加了一条数据,数据包括 name
,email
和 password
等字段。我们可以根据需要修改数据的数量和字段。
运行 db 种子需要使用 Laravel 框架提供的 db:seed
命令:
php artisan db:seed --class=UsersTableSeeder
通过使用 --class
选项指定要运行的 db 种子类,我们可以在运行时选择要运行的种子。
通过使用 db 种子,我们可以更加方便地填充数据库数据,提高了开发效率。在实际项目中,我们可以根据需要添加更多的 db 种子类以及更加复杂的数据结构。