Laravel批量写入数据详解

这周开始了解Laravel框架,在学习的过程中发现了Laravel在向数据表中写入数据是如此的方便高效,是以前在其它框架里面没有遇到过的,所以在这里列出来供初学者参考。

首先Laravel实现这个功能是通过它的seed类来实现的。seed类是放在database/seeds目录中。
第一步,打开windows的cmd客户端,然后切换到Laravel的安装目录,然后cd到htdocs下面(因为我们要用到的artisan是在htdocs目录下),执行命令php artisan make:seeeder UserSeeder(这里的名字是自定义的),然后可以看到项目目录中多出了两个文件,UserSeeder.php 和 DatabaseSeeder.php
这里写图片描述

UserSeeder.php 文件里面写入执行批量插入的代码,比如我想向user表里面批量插入1000条数据,那么我可以这样写:

use Illuminate\Database\Seeder;

class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
arr=[];for( i=0; i<1000; i++){
tmp=[]; tmp['username'] = 'seagull'.( i+1); tmp[‘password’] = Hash::make(‘ispek’);
tmp[name]=; tmp[‘created_at’] = date(“Y-m-d H:i:s”);
tmp[‘updated_at’] = date(“Y-m-d H:i:s”);  
    }  
    DB::table(‘admin_users’) -> insert(
arr);
}
}
做完这一步之后在DatabaseSeeder.php 里面调用即可:
在run()方法里面这样写:
Model::unguard();
$this->call(UserSeeder::class);
Model::reguard();
到这里所有的代码部分都已经写完了,之后就是批量执行。
依然是之前的cmd窗口。在里面输入php artisan db::seed 命令执行即可。

你可能感兴趣的:(语言细节)