php教程 laravel如何快速实现数据填充(使用seeder)

 所属分类:php教程

 浏览:155次-  评论: 0次-  更新时间:2022-05-31
描述:这是一篇php教程 laravel如何快速实现数据填充(使用seeder)的说明内容,如果你想学习查找类似的文章,可以进入php教程获得最新优质资料...
这是一篇php教程 laravel如何快速实现数据填充(使用seeder)的说明内容,如果你想学习查找类似的文章,可以进入php教程获得最新优质资料。 下面由Laravel教程栏目带大家介绍laravel利用seeder实现数据表中填充数据,希望对大家有所帮助!

laravel利用seeder实现数据表中填充数据

给大家演示一下如何快速填充数据表中的数据

首先要执行php artisan命令 会出现各种命令指示 查找到

php artisan make:seeder

根据命令指示创建相应的文件,如下所示

php artisan make:seeder TestSeeder

首先我先创建一个test表,如下所示

TestSeeder.php文件内容如下所示

<?php

use Illuminate\Database\Seeder;

class TestSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('test')->insert([
            'name' => str_random(10),
            'sex' => rand(1,2), // 1男 2女
            'email' => str_random(10).'@qq.com',
            'password' => bcrypt('123456'), // bcrypt为hash加密
        ]);
    }
}

执行如下命令进行填充假数据

php artisan db:seed --class=TestSeeder


每添加一条都要执行一边命令,这样会很麻烦,不如写一个for循环来一次新插入

for ($x=0; $x<=10; $x++) {
     DB::table('test')->insert([
          'name' => str_random(10),
          'sex' => rand(1,2), // 1男 2女
          'email' => str_random(10).'@qq.com',
          'password' => bcrypt('123456'), // bcrypt为hash加密
     ]);
}

数据库的数据展示如下:

如需要同时添加多个表的测试数据,需要在DatabaseSeeder.php中添加:

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    public function run()
    {
        // $this->call(UsersTableSeeder::class);
         $this->call(CreateDepartmentsSeeder::class);
         $this->call(CreateUsersSeeder::class);
         $this->call(CreateWagesSeeder::class);
    }
}

执行如下命令进行填充多个表的测试数据

php artisan db:seed
当我们执行  php artisan db:seed 
提示 class UserTableSeeder does not exist

这个错误基本是出现在不经过composer的时候出现的,至于为什么会出现呢?
1.可能是你执行php artisan make:seeder UserTableSeeder 的时候,他没有把UserTableSeeder.php 写到自动加载里面去
2.你是复制过来的

解决方法: composer dump-autoload

官方文档地址: https://laravel.com/docs/5.5/seeding#writing-seeders

以上就是laravel如何快速实现数据填充(使用seeder)的详细内容,更多请关注zzsucai.com其它相关文章!

 标签:
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!