Skip to content

๐Ÿ”€ Eloquent source and destination for the UXDM data migrator

License

Notifications You must be signed in to change notification settings

DivineOmega/uxdm-eloquent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

18 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”€ UXDM Eloquent

Build Status Coverage Status

The UXDM Eloquent package provides a UXDM source and destination for the Eloquent ORM, commonly used in Laravel projects.

Installation

To install the UXDM Eloquent package, just run the following composer command.

composer require divineomega/uxdm-eloquent

UXDM Eloquent Source

The UXDM Eloquent source allows you to source data from an Eloquent model. This can be handy if you need to migrate data from a system using the Eloquent ORM, such as a Laravel project.

Creating

To create a new Eloquent source, you must provide it with the class name of Eloquent model you wish to use.

The following example creates a Eloquent source object, using an Eloquent model called User in the App namespace.

$eloquentSource = new EloquentSource(\App\User::class);

You can also pass a query callback as a second parameter to restrict the results returned, as shown below.

$eloquentSource = new EloquentSource(\App\User::class, function($query) {
    $query->where('id', 1);
});

Assigning to migrator

To use the Eloquent source as part of a UXDM migration, you must assign it to the migrator. This process is the same for most sources.

$migrator = new Migrator;
$migrator->setSource($eloquentSource);

UXDM Eloquent Destination

The UXDM Eloquent destination allows you to migrate data into an Eloquent model. This can be handy if you need to migrate data into a system using the Eloquent ORM, such as a Laravel project.

Creating

To create a new Eloquent destination, you must provide it with the class name of Eloquent model you wish to use.

The following example creates a Eloquent destination object, using an Eloquent model called User in the App namespace.

$eloquentDestination = new EloquentDestination(\App\User::class);

Assigning to migrator

To use the Eloquent destination as part of a UXDM migration, you must assign it to the migrator. This process is the same for most destinations.

$migrator = new Migrator;
$migrator->setDestination($eloquentDestination);

Alternatively, you can add multiple destinations, as shown below. You can also specify the fields you wish to send to each destination by passing an array of field names as the second parameter.

$migrator = new Migrator;
$migrator->addDestination($eloquentDestination, ['field1', 'field2']);
$migrator->addDestination($otherDestination, ['field3', 'field2']);

About

๐Ÿ”€ Eloquent source and destination for the UXDM data migrator

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages