如何使用Laravel框架实现PHP的批量数据插入操作?

2026-04-28 17:342阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计845个文字,预计阅读时间需要4分钟。

如何使用Laravel框架实现PHP的批量数据插入操作?

在日开发中,大量插入操作仍依赖手动SQL插入,早期常在循环中编写,项目经理常在代码上修改。性能方面,虽非关键,但未使用时仍为佳。务性能成为“

在日常开发中,用到批量插入的操作还是挺多的。记得很早很早以前,我还是在循环中写sql插入,结果被项目经理按在地上摩擦。好吧,性能这东西,用不到的时候还好,万一性能成为瓶颈,那代码优化,数据库优化就首当其冲了。

废话不多说,开码!

如何使用Laravel框架实现PHP的批量数据插入操作?

一、首先是查看laravel5.1手册


由图可知:laravel提供了insert插入数组的方法,也就是说,我们可以直接insert($array)实现批量插入的操作

二、先使用laravel的get()查询,获取数组对象,然后批量插入的操作

$ret = []; $create_red = new create_red(); foreach($arr3 as $v){ $delayDays = $v->delayDays; $workDays = $v->workDays; //获取当天时间戳的0点 $now = strtotime(date('Y-m-d',time())); ; $start = $now + $delayDays*86400; $start_at = date("Y-m-d H:i:s",$start); $end = $now + $delayDays*86400 + $workDays*86400; $end_at = date('Y-m-d H:i:s',$end); $created_at = date("Y-m-d H:i:s",$now); $ret[] = [ 'uid'=>$uid, 'status'=>1, 'title'=>$v->title, 'desc'=>$v->desc, 'discount'=>$v->discount, 'minprice'=>$v->minprice, 'imgurl'=>$v->imgurl, 'start_at'=>$start_at, 'end_at'=>$end_at, ]; } //往数据库批量插入数据 $result = $create_red::insert($ret); if(!$result){ DB::rollBack(); return MyResponse::error(9006,'兑换优惠券失败'); }

1、新建一个空数组

2、循环查询到的arrarr,并且循环向空数组arr,并且循环向空数组ret中插入数据,形成正确的数组格式

3、实例化数据表的model类

4、使用model::insert($array)的方法批量插入

5、结果是OK的,批量插入成功

三、批量生成兑换码之后的批量插入

先上代码:

$num = 200; $codeArr = []; for($i=0;$i<$num;$i++){ $code = EventCode::rand_str(8); $codeArr[$i]['code'] = $code; } /*var_dump($codeArr); exit;*/ $event = new EventCode(); $arr = $event::insert($codeArr); if(!$arr){ return MyResponse::error('生成兑换码失败'); }

1、新建一个空数组

2、循环生成兑换码,并写入数组

3、打印数组,数组显示正常之后,利用insert()方法插入

4、这里的插入效果也是OK的,

利用laravel自带的insert实现批量插入的效率还是可以的,只不过楼主插入的量少,也没有具体实现过性能这块。以后有发现的话就再写出来分享给大家。

感谢大家的阅读,希望大家有所收益

本文转自:blog.csdn.net/LJFPHP/article/details/78268029

推荐教程:《Laravel教程》

以上就是详细解说php基于laravel框架的批量插入(教程)的详细内容,更多请关注自由互联其它相关文章!

标签:批量

本文共计845个文字,预计阅读时间需要4分钟。

如何使用Laravel框架实现PHP的批量数据插入操作?

在日开发中,大量插入操作仍依赖手动SQL插入,早期常在循环中编写,项目经理常在代码上修改。性能方面,虽非关键,但未使用时仍为佳。务性能成为“

在日常开发中,用到批量插入的操作还是挺多的。记得很早很早以前,我还是在循环中写sql插入,结果被项目经理按在地上摩擦。好吧,性能这东西,用不到的时候还好,万一性能成为瓶颈,那代码优化,数据库优化就首当其冲了。

废话不多说,开码!

如何使用Laravel框架实现PHP的批量数据插入操作?

一、首先是查看laravel5.1手册


由图可知:laravel提供了insert插入数组的方法,也就是说,我们可以直接insert($array)实现批量插入的操作

二、先使用laravel的get()查询,获取数组对象,然后批量插入的操作

$ret = []; $create_red = new create_red(); foreach($arr3 as $v){ $delayDays = $v->delayDays; $workDays = $v->workDays; //获取当天时间戳的0点 $now = strtotime(date('Y-m-d',time())); ; $start = $now + $delayDays*86400; $start_at = date("Y-m-d H:i:s",$start); $end = $now + $delayDays*86400 + $workDays*86400; $end_at = date('Y-m-d H:i:s',$end); $created_at = date("Y-m-d H:i:s",$now); $ret[] = [ 'uid'=>$uid, 'status'=>1, 'title'=>$v->title, 'desc'=>$v->desc, 'discount'=>$v->discount, 'minprice'=>$v->minprice, 'imgurl'=>$v->imgurl, 'start_at'=>$start_at, 'end_at'=>$end_at, ]; } //往数据库批量插入数据 $result = $create_red::insert($ret); if(!$result){ DB::rollBack(); return MyResponse::error(9006,'兑换优惠券失败'); }

1、新建一个空数组

2、循环查询到的arrarr,并且循环向空数组arr,并且循环向空数组ret中插入数据,形成正确的数组格式

3、实例化数据表的model类

4、使用model::insert($array)的方法批量插入

5、结果是OK的,批量插入成功

三、批量生成兑换码之后的批量插入

先上代码:

$num = 200; $codeArr = []; for($i=0;$i<$num;$i++){ $code = EventCode::rand_str(8); $codeArr[$i]['code'] = $code; } /*var_dump($codeArr); exit;*/ $event = new EventCode(); $arr = $event::insert($codeArr); if(!$arr){ return MyResponse::error('生成兑换码失败'); }

1、新建一个空数组

2、循环生成兑换码,并写入数组

3、打印数组,数组显示正常之后,利用insert()方法插入

4、这里的插入效果也是OK的,

利用laravel自带的insert实现批量插入的效率还是可以的,只不过楼主插入的量少,也没有具体实现过性能这块。以后有发现的话就再写出来分享给大家。

感谢大家的阅读,希望大家有所收益

本文转自:blog.csdn.net/LJFPHP/article/details/78268029

推荐教程:《Laravel教程》

以上就是详细解说php基于laravel框架的批量插入(教程)的详细内容,更多请关注自由互联其它相关文章!

标签:批量