内容简介:1.1打开新创建的laravel项目 database/migrations目录 下可以发现 两个文件1.2我们可以打开这个文件瞧瞧 (根据实际情况修改,这里我就不修改了)
在开发环境中,我们经常会使用 “模拟数据” 来测试我们应用,在 laravel 中 提供了 ”数据填充“来帮助我们实现这个需求。我们现在就来用这个功能来创建 20个用户...
1.使用 artisan 命令生成 用户表
1.1打开新创建的laravel项目 database/migrations目录 下可以发现 两个文件 一个是创建用户表的,一个是创建确认密码表的(图中没看到是因为我删除了)
1.2我们可以打开这个文件瞧瞧 (根据实际情况修改,这里我就不修改了)
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }
1.3 执行 artisan 命令 生成表
php artisan migrate
于是生成了 users 表
2. 生成seed文件,并且修改
2.1 使用 artisan 命令生成 UsersTableSeeder.php 文件
php artisan make:seed UsersTableSeeder
命令执行后,我们可以在 database/seeds 目录下发现多了个我们创建的UsersTableSeeder.php文件
我们打开这个文件:
<?php use Illuminate\Database\Seeder; class UsersTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { } }
接着我们修改一下这个文件(创建20个用户):
<?php use Illuminate\Database\Seeder; class UsersTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { //使用 factory 来创建模拟数据 factory(\App\User::class,20)->create(); } }
同目录下还有个 DatabaseSeeder.php 文件,我们需要 让这个文件 执行 我们这个新创建的UsersTableSeeder.php文件,所以需要把 run方法中的 $this->call(UsersTableSeeder::class) 的注释取消掉
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. * * @return void */ public function run() { $this->call(UsersTableSeeder::class); } }
3. 填充数据
3.1 database/factories 目录下有 个 UserFactory.php 文件,修改为(根据实际情况):
<?php /** @var \Illuminate\Database\Eloquent\Factory $factory */ use App\User; use Illuminate\Support\Str; use Faker\Generator as Faker; /* |-------------------------------------------------------------------------- | Model Factories |-------------------------------------------------------------------------- | | This directory should contain each of the model factory definitions for | your application. Factories provide a convenient way to generate new | model instances for testing / seeding your application's database. | */ $factory->define(User::class, function (Faker $faker) { return [ 'name' => $faker->name, 'email' => $faker->unique()->safeEmail, 'email_verified_at' => now(), 'password' => bcrypt('123456'), // password 'remember_token' => Str::random(10), ]; });
3.2 生成模拟数据,执行以下 artisan 命令:
php artisan db:seed
打开 users 表可以发现新创建了20条用户数据:
4.总结
这样就可以生成模拟数据啦,是不是很简单呢~~~ 如果有帮助到你,给个赞呗!
特别声明: 本人只是菜鸟,记录一下平时学习笔记,高手莫喷,谢谢!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具
- MySQL 创建用户及权限的操作命令
- 使用 go cobra创建命令行项目
- laravel 创建自定义的artisan make命令
- 用命令创建用户、配置 IIS、配置 SQL Server
- 如何创建Perl脚本以获取一些“命名”命令行参数?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。