laravelフレームワークによるPHPバッチ挿入の詳細説明(チュートリアル)

烟雨青岚
リリース: 2020-07-15 13:31:48
転載
4603 人が閲覧しました

laravelフレームワークによるPHPバッチ挿入の詳細説明(チュートリアル)

日々の開発では、バッチ挿入操作が非常に多く発生します。昔、私はまだSQL挿入をループで書いていたのですが、プロジェクトマネージャーに地面に押しつけられ、こすられたことを思い出します。パフォーマンスは、使用していないときは問題ありませんが、パフォーマンスがボトルネックになると、コードの最適化とデータベースの最適化が矢面に立つことになります。

早速、コードを開いてみましょう。

1. まず、laravel5.1 マニュアルを確認してください

laravelフレームワークによるPHPバッチ挿入の詳細説明(チュートリアル)
# 写真からわかるように、laravel には配列を挿入する insert メソッドが用意されています。つまり、直接 insert($array) を実行してバッチ挿入操作を実装できます

#2. まず、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# をループします##r## をループ ## に向かって ループ#emptyNumbergrouparr を実行し、空の配列にループします#a

3.引き換えコードのバッチ生成後のバッチ挿入

最初にコード

 $num = 200;
    $codeArr = [];
    for($i=0;$i<$num;$i++){
      $code = EventCode::rand_str(8);
      $codeArr[$i][&#39;code&#39;] = $code;
    }
    /*var_dump($codeArr);
    exit;*/
    $event = new EventCode();
    $arr = $event::insert($codeArr);
    if(!$arr){
      return MyResponse::error(&#39;生成兑换码失败&#39;);
    }
ログイン後にコピー

1 を入力します。新しい空の配列を作成します。

2. ループ内で引換コードを生成し、配列

3. 配列を出力します。配列が正常に表示されたら、insert() を使用します。メソッドを挿入する

4. ここでの挿入効果も問題ありません、

laravel 独自の挿入を使用してバッチ挿入の効率を達成することはまだ可能ですが、作成者による挿入の数は少ないため、パフォーマンスは特に実装されていません。今後何か発見したら、書き留めてみんなに共有します。

お読みいただきありがとうございます。ご活用いただければ幸いです

この記事は、https://blog.csdn.net/LJFPHP/article/details/78268029 から転載しています。

推奨チュートリアル:「

Laravel チュートリアル


以上がlaravelフレームワークによるPHPバッチ挿入の詳細説明(チュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!