首頁  >  文章  >  php框架  >  詳細解說php基於laravel框架的批次插入(教程)

詳細解說php基於laravel框架的批次插入(教程)

烟雨青岚
烟雨青岚轉載
2020-07-15 13:31:484450瀏覽

詳細解說php基於laravel框架的批次插入(教程)

在日常開發中,用到批次插入的操作還是挺多的。記得很早很早以前,我還是在循環中寫sql插入,結果被專案經理壓在地上摩擦。好吧,效能這東西,用不到的時候還好,萬一效能變成瓶頸,那程式碼優化,資料庫優化就首當其衝了。

廢話不多說,開碼!

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

詳細解說php基於laravel框架的批次插入(教程)
#      由圖可知: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、循環查詢到的ar##rr

r

並且

#環

數字

群組

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來實現批量插入的效率還是可以的,只不過樓主插入的量少,也沒有具體實現過性能這塊。以後有發現的話就再寫出來分享給大家。 ######感謝大家的閱讀,希望大家有收益#########本文轉自:https://blog.csdn.net/LJFPHP/article/details/78268029##### #推薦教學:《###Laravel教學###》###

以上是詳細解說php基於laravel框架的批次插入(教程)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除