溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

laravel框架中批量插入操作的示例

發(fā)布時(shí)間:2021-03-16 10:55:40 來(lái)源:億速云 閱讀:278 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)laravel框架中批量插入操作的示例的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

一、首先是查看laravel5.1手冊(cè)

laravel框架中批量插入操作的示例

由圖可知:laravel提供了insert插入數(shù)組的方法,也就是說(shuō),我們可以直接insert($array)實(shí)現(xiàn)批量插入的操作

二、先使用laravel的get()查詢,獲取數(shù)組對(duì)象,然后批量插入的操作

$ret = [];
    $create_red = new create_red();
    foreach($arr3 as $v){
      $delayDays = $v->delayDays;
      $workDays = $v->workDays;
      //獲取當(dāng)天時(shí)間戳的0點(diǎn)
      $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ù)庫(kù)批量插入數(shù)據(jù)
    $result = $create_red::insert($ret);
    if(!$result){
      DB::rollBack();
      return MyResponse::error(9006,'兌換優(yōu)惠券失敗');
    }

1、新建一個(gè)空數(shù)組

2、循環(huán)查詢到的arr,環(huán)數(shù)arr,并且循環(huán)向空數(shù)組ret中插入數(shù)據(jù),形成正確的數(shù)組格式

3、實(shí)例化數(shù)據(jù)表的model類

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

5、結(jié)果是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、新建一個(gè)空數(shù)組

2、循環(huán)生成兌換碼,并寫入數(shù)組

3、打印數(shù)組,數(shù)組顯示正常之后,利用insert()方法插入

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

利laravel自帶的insert實(shí)現(xiàn)批量插入的效率還是可以的,只不過(guò)樓主插入的量少,也沒(méi)有具體實(shí)現(xiàn)過(guò)性能這塊。以后有發(fā)現(xiàn)的話就再寫出來(lái)分享給大家。

感謝各位的閱讀!關(guān)于“l(fā)aravel框架中批量插入操作的示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI