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

laravel如何快速实现数据填充(使用seeder),第1张

概述laravel如何快速实现数据填充(使用seeder) 下面由Laravel教程栏目带大家介绍laravel利用seeder实现数据表中填充数据,希望对大家有所帮助!

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

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

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

PHP artisan make:seeder

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

PHP artisan make:seeder TestSeeder

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

TestSeeder.PHP文件内容如下所示

<?PHPuse 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中添加:

<?PHPuse 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)全部内容,希望文章能够帮你解决laravel如何快速实现数据填充(使用seeder)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1218247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存