format('Y-m-d H:i:s'); SimpleExcelReader::create(storage_path('app/public/' . $filePath)) ->getRows() ->chunk(1000) ->each(function (LazyCollection $chunk) use ($now) { foreach ($chunk as $row) { $row = array_values($row); /** * must be != null * exp_home, exp_away, exp_handicap, exp_total */ if ( (float) $row[21] != 0 && (float) $row[22] != 0 && (float) $row[23] != 0 && (float) $row[24] != 0 && (string) $row[25] != '' ) { StatistikoEvent::updateOrCreate( [ 'match_id' => (int) $row[0], ], [ 'sport_id' => (int) $row[1], 'league_id' => (int) $row[2], 'home_id' => (int) $row[3], 'away_id' => (int) $row[4], 'starttime' => Carbon::parse($row[5])->toIso8601String(), 'season' => (string) $row[6], 'gls_h' => (int) $row[7], 'gls_a' => (int) $row[8], 'crn_h' => (int) $row[9], 'crn_a' => (int) $row[10], 'fls_h' => (int) $row[11], 'fls_a' => (int) $row[12], 'ofs_h' => (int) $row[13], 'ofs_a' => (int) $row[14], 'snt_h' => (int) $row[15], 'snt_a' => (int) $row[16], 'tsh_h' => (int) $row[17], 'tsh_a' => (int) $row[18], 'crd_h' => (int) $row[19], 'crd_a' => (int) $row[20], 'exp_home' => (float) $row[21], 'exp_away' => (float) $row[22], 'exp_handicap' => (float) $row[23], 'exp_total' => (float) $row[24], 'result_code' => (string) $row[25], // w, d, l 'created_at' => $now, 'updated_at' => $now, ] ); } } }); } }