where('doc_wave_details.waveno',$batchNumber) ->leftJoin('act_allocation_details','doc_wave_details.orderno','act_allocation_details.orderno')->get(); $oneIdxAsrsReceive=OracleDocOrderPackingSummary::where('traceid',$numbersesOfBatch[0]['logistic_number'])->first(); if(!$oneIdxAsrsReceive){ $inserts=''; $values=[]; foreach($numbersesOfBatch as $numbers){ $inserts .= " into doc_order_packing_summary (traceid,orderno,grossweight,addwho,addtime,editwho,edittime)values(?,?,?,?,?,?,?) "; $values[] = $numbers['logistic_number']??''; $values[] = $numbers['orderno']??''; $values[] = $weight; $values[] = 'WAS'; $values[] = Carbon::now(); $values[] = 'WAS'; $values[] = Carbon::now(); } DB::connection('oracle')->insert("insert all {$inserts} select * from dual",$values); }else{ $logisticNumbers=$numbersesOfBatch->map(function($numbers){return $numbers['logistic_number'];}); OracleDocOrderPackingSummary::whereIn('traceid',$logisticNumbers)->update(['grossweight'=>$weight]); } } }