format('Y-m-d H:i:s'); } return $row; } public function rules(): array { return []; } public function batchSize(): int { return 100; } public function chunkSize(): int { return 100; } public function onFailure(Failure ...$failures) { $sheet = Str::snake((new \ReflectionClass($this))->getShortName()); foreach ($failures as $failure) { // @todo remove after 3.2 release https://github.com/Maatwebsite/Laravel-Excel/issues/1834#issuecomment-474340743 if (collect($failure->values())->first() == $this->empty_field) { continue; } $message = trans('messages.error.import_column', [ 'message' => collect($failure->errors())->first(), 'sheet' => $sheet, 'line' => $failure->row(), ]); flash($message)->error()->important(); } } public function onError(\Throwable $e) { flash($e->getMessage())->error()->important(); } public function isNotValid($row) { return Validator::make($row, $this->rules())->fails(); } public function isEmpty($row, $fields) { $fields = Arr::wrap($fields); foreach ($fields as $field) { if (!empty($row[$field])) { continue; } return true; } return false; } }