Skip to content

Commit b670657

Browse files
authored
Skips empty rows concern docs (SpartnerNL#137)
* Add SkipsEmptyRows concern * Add Skipping empty rows block for the SkipsEmptyRows concern
1 parent 799400a commit b670657

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

3.1/imports/concerns.md

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ pageClass: no-toc
2424
|`Maatwebsite\Excel\Concerns\WithStartRow`| Define a custom start row. | |
2525
|`Maatwebsite\Excel\Concerns\WithProgressBar`| Shows a progress bar when uploading via the console. | [Progress Bar](/3.1/imports/progress-bar.html) |
2626
|`Maatwebsite\Excel\Concerns\WithValidation`| Validates each row against a set of rules. | [Row Validation](/3.1/imports/validation.html) |
27+
|`Maatwebsite\Excel\Concerns\SkipsEmptyRows`| Skips empty rows. | [Row Validation](/3.1/imports/validation.html#skipping-empty-rows) |
2728
|`Maatwebsite\Excel\Concerns\SkipsOnFailure`| Skips on validation errors. | [Row Validation](/3.1/imports/validation.html#skipping-failures) |
2829
|`Maatwebsite\Excel\Concerns\SkipsOnError`| Skips on database exceptions. | [Row Validation](/3.1/imports/validation.html#skipping-errors) |
2930
|`Maatwebsite\Excel\Concerns\WithColumnLimit` | Allows setting an end column ||

3.1/imports/validation.md

+32
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,38 @@ foreach ($import->failures() as $failure) {
272272
}
273273
```
274274

275+
## Skipping empty rows
276+
277+
Sometimes you might want to skip empty rows, for example when using the `required` validation rule. By using the `SkipsEmptyRows` concern, empty rows will get skipped during both validation **and the import**.
278+
279+
```php
280+
<?php
281+
282+
namespace App\Imports;
283+
284+
use App\User;
285+
use Maatwebsite\Excel\Concerns\Importable;
286+
use Maatwebsite\Excel\Concerns\SkipsEmptyRows;
287+
use Maatwebsite\Excel\Concerns\ToModel;
288+
use Maatwebsite\Excel\Concerns\WithHeadingRow;
289+
use Maatwebsite\Excel\Concerns\WithValidation;
290+
291+
class UsersImport implements ToModel, SkipsEmptyRows, WithHeadingRow, WithValidation
292+
{
293+
use Importable;
294+
295+
public function rules(): array
296+
{
297+
return [
298+
'name' => [
299+
'required',
300+
'string',
301+
],
302+
];
303+
}
304+
}
305+
```
306+
275307
### Skipping errors
276308

277309
Sometimes you might want to skip **all** errors, e.g. duplicate database records. By using the `SkipsOnError` concern, you get control over what happens the moment a model import fails.

0 commit comments

Comments
 (0)