laravel框架中的数据填充

灭绝师太
灭绝师太 原创
2021-12-02 12:13:36 1325浏览

2021120211414569258.jpg

Laravel为了数据能够更加方便的填入数据库,专门定义了一个填充类,可以为你的数据库填充测试数据,所有的填充类都放在 database/seeds 目录下,本文就带大家一起来看一看。

一、编写 Seeders 并填充数据

  • 利用 Artisan 命令 make:seeder 生成 Seeder

php artisan make:seeder UserSeeder
  • 生成 UserSeeder 类

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class UserSeeder extends Seeder
{
    public function run()
    {
        
    }
}
  • 利用查询构造器在 run 方法中插入数据

DB::table('users')->insert(
  [
  
   ['name' => '321250887','email' => '321250887@qq.com','password' => bcrypt('321250887')],
   ['name' => '321250888','email' => '321250888@qq.com','password' => bcrypt('321250888')],
   ['name' => '321250889','email' => '321250889@qq.com','password' => bcrypt('321250889')],
   ['name' => '3212508810','email' => '3212508810@qq.com','password' => bcrypt('3212508810')],
   ['name' => '3212508811','email' => '3212508811@qq.com','password' => bcrypt('3212508811')],
   ['name' => '3212508812','email' => '3212508812@qq.com','password' => bcrypt('3212508812')],
   ['name' => '3212508813','email' => '3212508813@qq.com','password' => bcrypt('3212508813')],
   ['name' => '3212508814','email' => '3212508814@qq.com','password' => bcrypt('3212508814')],
  ]);
//相应的类已经在上方导入
  • 使用 Artisan 命令 db:seed --class 选项来指定一个特定的 seeder 类:

php artisan db:seed --class=UserSeeder

二、使用默认的 DatabaseSeeder 类并填充数据

  • 利用查询构造器在 run 方法中插入数据

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class DatabaseSeeder extends Seeder
{
    public function run()
    {
        DB::table('users')->insert([
            'name' => '3212508814',
            'password' => bcrypt('3212508814')],
        ]);
    }
}
  • 使用 call 方法来运行其它的 seed 类

public function run()
{
    $this->call([
        UserSeeder::class,
        CategorySeeder::class,
    ]);
}
  • 使用 Artisan 命令 db:seed 来填充数据库

php artisan db:seed

相关视频教程推荐:Laravel 视频教程

以上就是laravel框架中的数据填充的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。