您好,登錄后才能下訂單哦!
這篇文章主要介紹php基于laravel框架如何實現(xiàn)批量插入,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
一、首先是查看laravel5.1手冊
由圖可知:laravel提供了insert插入數(shù)組的方法,也就是說,我們可以直接insert($array)實現(xiàn)批量插入的操作
二、先使用laravel的get()查詢,獲取數(shù)組對象,然后批量插入的操作
$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, ]; } //往數(shù)據(jù)庫批量插入數(shù)據(jù) $result = $create_red::insert($ret); if(!$result){ DB::rollBack(); return MyResponse::error(9006,'兌換優(yōu)惠券失敗'); }
1、新建一個空數(shù)組
2、循環(huán)查詢到的
ret中插入數(shù)據(jù),形成正確的數(shù)組格式3、實例化數(shù)據(jù)表的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、新建一個空數(shù)組
2、循環(huán)生成兌換碼,并寫入數(shù)組
3、打印數(shù)組,數(shù)組顯示正常之后,利用insert()方法插入
4、這里的插入效果也是OK的,
利用laravel自帶的insert實現(xiàn)批量插入的效率還是可以的,只不過樓主插入的量少,也沒有具體實現(xiàn)過性能這塊。以后有發(fā)現(xiàn)的話就再寫出來分享給大家。
以上是“php基于laravel框架如何實現(xiàn)批量插入”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。