123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- namespace App\Imports;
- use App\Http\Requests\API\Requirement\CreateOrUpdateRequest;
- use App\Models\Enums\ObjectAction;
- use App\Models\Requirement;
- use App\Repositories\ActionRepository;
- use Illuminate\Support\Collection;
- use Illuminate\Support\Facades\Auth;
- use Maatwebsite\Excel\Concerns\ToCollection;
- use Maatwebsite\Excel\Concerns\WithHeadingRow;
- class RequirementImport implements ToCollection, WithHeadingRow
- {
- use ImportValidatorHelper;
- public function collection(Collection $collection): void
- {
- $this->validatorByCollection($collection, (new CreateOrUpdateRequest())->rules());
- foreach ($collection as $item) {
- $requirement = new Requirement();
- $requirement->mergeFillable([
- 'company_id', 'created_by',
- ]);
- $requirement->fill([
- ...$item->toArray(),
- 'company_id' => Auth::user()->company_id,
- 'created_by' => Auth::id(),
- 'mailto' => [],
- ]);
- $requirement->save();
- ActionRepository::createRequirement(
- $requirement, ObjectAction::CREATED
- );
- }
- }
- }
|