Skip to main content

Setting Up

Create Importer​

Create a new class that extends Javaabu\Imports\Importers\Importer class. This class will be responsible for handling the import process. The package provides a simple command to create a new importer class. Run the following command to create a new importer class.

php artisan imports:make carriers

This command will create a new importer class in the App\Imports\Importers namespace. The class will be named CarriersImporter. The generated class will look like this:

<?php

namespace App\Imports\Importers;

use App\Models\User;
use App\Models\Carrier;
use Illuminate\Database\Eloquent\Model;
use Javaabu\Imports\Importers\Importer;

class CarrierImporter extends Importer
{
public function dummyData(): array
{
// TODO: Implement dummyData() method.
}

public function headings(): array
{
// TODO: Implement headings() method.
}

public function rowValidationRules(array $row): array
{
// TODO: Implement rowValidationRules() method.
}

public function getExistingModel(array $row): ?Model
{
// TODO: Implement getExistingModel() method.
}

public function saveRow(array $row, Model $existing_model = null): Model
{
// TODO: Implement saveRow() method.
}
}

After implementing the required methods, the importer class will be ready to use.

Register Importer​

To use the importer class, you need to register it via Service Provider. The package provides a simple command to register the importer class.

In any of your service providers boot method, you can register the importer class using the Imports::registerImports method.

    Imports::registerImports([
'carrier' => CarrierImporter::class
]);