user_id = $admin_user_id; } public function model(array $row) { if ($this->index == 1) { $this->index += 1; return; } $parking = $row[1]; $floor = $row[2]; $region = $row[3]; $attr = $row[4]; $number = $row[5]; if (empty($parking)) { return; } if (empty($floor)) { return; } if (empty($region)) { return; } if (empty($attr)) { return; } if (empty($number)) { return; } $parking_id = Parking::getValueId($parking); if (!$parking_id) { return; } $floor_id = AdminFloor::query()->where('status', 1)->where( 'building_floor', $parking_id )->value('id'); if (!$floor_id) { return; } $region_id = AdminFloorRegion::query()->where('status', 1)->where( 'floor_id', $floor_id )->value('id'); $attr_id = ParkingSpaceAttributes::query()->where('attributes', $attr) ->value('id'); if (!$attr_id) { return; } $create = $where = [ 'number' => $number, 'floor_id' => $floor_id, 'region_id' => $region_id ]; if (ParkingSpace::query()->where($where)->exists()) { return; } $create['space_type_id'] = 0; $res = ParkingSpaceType::getDefaultData(); if ($res) { $create['space_type_id'] = $res['id']; } $create['space_attr_id'] = $attr_id; $service = new ParkingSpaceService(new OperationLogService()); $service->createData($create); } public function chunkSize(): int { return 1000; // 设置每次处理的行数,有助于避免内存问题并可能改善表头解析 } }