📜  控制器中的 db 种子 - PHP (1)

📅  最后修改于: 2023-12-03 15:39:50.510000             🧑  作者: Mango

控制器中的 db 种子 - PHP

在使用 PHP 操作数据库时,我们经常需要在控制器文件中写很长的 SQL 语句来进行数据的增删改查操作。但是这样就会让我们的代码变得难以维护和阅读。为了解决这个问题,我们可以使用 Laravel 框架提供的 db:seed 命令来在数据库中添加数据。

什么是 db 种子

db 种子是一种在 Laravel 框架中用于填充数据库数据的机制。它对于开发人员来说非常有用,因为我们可以在不用手动录入大量数据的情况下快速地填充数据库。

如何使用 db 种子

首先,我们需要创建一个 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 表中添加了一条数据,数据包括 nameemailpassword 等字段。我们可以根据需要修改数据的数量和字段。

如何运行 db 种子

运行 db 种子需要使用 Laravel 框架提供的 db:seed 命令:

php artisan db:seed --class=UsersTableSeeder

通过使用 --class 选项指定要运行的 db 种子类,我们可以在运行时选择要运行的种子。

总结

通过使用 db 种子,我们可以更加方便地填充数据库数据,提高了开发效率。在实际项目中,我们可以根据需要添加更多的 db 种子类以及更加复杂的数据结构。