Laravel是一种流行的PHP框架,通过它可以快速而且高效地开发 web 应用程序。但是,在测试应用程序时需要大量的数据填充,这通常是非常乏味的工作。为了解决这个问题,Laravel 提供了Faker 库,该库可用于生成假数据填充到应用程序中。在本文中,我们将讨论使用Faker库来填充Laravel应用程序。
1. 安装Faker
首先,您需要安装Faker。您可以使用 Composer 或从GitHub仓库安装它:
composer require fzaninotto/faker
具体请参阅: https://github.com/fzaninotto/Faker。
2. 创建数据填充器
在Laravel中,数据填充器位于database/seeds目录中。您可以手动创建填充器文件或使用Artisan命令来创建它。例如,为了创建一个用户填充器,您可以使用以下Artisan命令:
php artisan make:seeder UsersTableSeeder
执行此命令后,您将得到一个UsersTableSeeder.php文件,您可以在其中编写填充代码。
3. 编写填充器
在填充器文件中,您需要为每个数据库表编写一个填充器方法。例如,以下是一个简单的用户填充器:
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Faker\Factory as Faker;
class UsersTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$faker = Faker::create();
foreach(range(1, 10) as $index) {
DB::table('users')->insert([
'name' => $faker->name,
'email' => $faker->email,
'password' => Hash::make('password'),
'created_at' => now(),
'updated_at' => now(),
]);
}
}
}
在此示例中,我们使用Faker库生成10个用户并将其插入到users表中。在向表中插入假数据时,请注意使用哈希函数来对密码进行哈希加密。
4. 运行填充器
填充器文件已准备好,接下来要运行它,将假数据填充到数据库中。为此,您可以使用以下Artisan命令:
php artisan db:seed
该命令将运行database/seeds目录下的所有填充器。 如果您只想运行单个填充器,则可以使用以下命令:
php artisan db:seed --class=UsersTableSeeder
该命令将运行名为“UsersTableSeeder”的填充器。
结论
使用 Faker 库来填充 Laravel 应用程序非常方便。它可以帮助您快速创建大量假数据,为您的应用程序提供更完整的测试环境。如果您想了解有关Laravel填充器的更多信息,请访问 https://laravel.com/docs/5.8/seeding。