這篇文章給大家分享的是有關laravel框架中批量插入操作的示例的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
一、首先是查看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、循環查詢到的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實現批量插入的效率還是可以的,只不過樓主插入的量少,也沒有具體實現過性能這塊。以后有發現的話就再寫出來分享給大家。
感謝各位的閱讀!關于“laravel框架中批量插入操作的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。