siteId = $siteId; } const FIELD_MAP = [ 0 => 'link_id', 1 => 'username', 2 => 'password', 3 => 'email', 4 => 'url', 5 => 'created_at' ]; public function collection(Collection $collections) { $allLinks = Link::all(); $all = collect([]); foreach ($collections as $key => $collection) { if ($key < 1 || empty($collection[0]) || empty($collection[2]) || empty($collection[3]) || empty($collection[4])) { continue; } $matchLink = $allLinks->firstWhere('url', $collection[0]); if (!$matchLink) { continue; } $collection[0] = $matchLink->id; $temp = $this->fieldMap($collection); $all->push($temp); } $allRecords = $all->toArray(); foreach ($allRecords as $record) { if (!LinkTaskDetail::query()->where([ 'redundant_site_id' => $this->siteId, 'link_id' => $record['link_id'], 'enable' => 1, 'status' => 5 ])->exists()) { LinkTaskDetail::query()->insert($record); } } // $allItems = $all->chunk(5000)->toArray(); // foreach ($allItems as $item) { // LinkTaskDetail::query()->insert($item); // } } public function fieldMap($collect): array { $result = []; foreach ($collect as $inx => $val) { if (empty(self::FIELD_MAP[$inx])) continue; if (self::FIELD_MAP[$inx] == 'created_at') { $time = strtotime(str_replace('#', '', $val)); $result[self::FIELD_MAP[$inx]] = $time ? date(' Y-m-d H:i:s', $time) : date('Y-m-d H:i:s'); } else { $result[self::FIELD_MAP[$inx]] = $val; } $result['redundant_site_id'] = $this->siteId; $result['status'] = 5; //审核通过的 $result['enable'] = 1; } return $result; } }