@snail 多谢,1000条大概从150秒减少到58秒,我每一行代码都打印了一下耗费时间,问题出现在bcrypt()这个方法里,我是用的它加密原始密码,换成md5()方法后,从58秒缩短到2秒。
我现在困惑的地方在这里,我需要获得插入users表成功的id,然后把这些id再插入到中间表user_role表里,$this->insertGetId()方法可以获得id但只能一条一条插入,效率慢,$this->insert($data)方法返回不了id值
我目前的做法:先获取users表最大自增id,插入users后查询获得大于此自增ID的数据,然后插入到user_role里
$maxid = User::select('id')->orderBy('id', 'desc')->first()->id;
if($this->insert($data)){//插入用户表
$user_id = $this->select('id as user_id')->where('id', '>', $maxid)->get()->toArray();//获得成功插入的用户id
$result = DB::table('user_role')->insert($user_id);//插入用户角色表
}