ride / lib-import-orm
ORM providers for the import library of the Ride framework
Installs: 3 727
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 10
Forks: 0
Open Issues: 0
Requires
- ride/lib-common: ^1.0.0
- ride/lib-i18n: ^1.0.0
- ride/lib-import: ^1.0.0
- ride/lib-orm: ^1.0.0
- ride/lib-reflection: ^1.0.0
- ride/lib-validation: ^1.0.0
README
ORM providers for the import library of the PHP Ride framework.
Code Sample
Check this code sample to see how to use these providers:
<?php use ride\library\decorator\BooleanDecorator; use ride\library\import\mapper\GenericMapper; use ride\library\import\provider\orm\OrmSourceProvider; use ride\library\import\provider\orm\OrmDestinationProvider; use ride\library\import\GenericImporter; use ride\library\orm\OrmManager; use ride\library\reflection\ReflectionHelper; function importModel(OrmManager $orm, ReflectionHelper $reflectionHelper) { $sourceProvider = new OrmSourceProvider($orm->getModel('Source'), $reflectionHelper); $destinationProvider = new OrmSourceProvider($orm->getModel('Destination'), $reflectionHelper); // create a mapping to translate values from the source to the destination $mapper = new GenericMapper(); $mapper->mapColumn(array('name', 'firstname'), 'fullName'); // glue street, number and box together; use a space between street and number, then use a slash to add the box $mapper->mapColumn(array('street', 'number', 'box'), 'address', array(' ', '/')); $mapper->mapColumn('postalCode', 'postalCode'); $mapper->mapColumn('city', 'city'); $mapper->mapColumn('subscribe_newsletter', 'isNewsletter'); // you can add decorators to process the resulting value $mapper->addDecorator('isNewsletter', new BooleanDecorator()); // initialize importer with providers and mapper $importer = new GenericImporter(); $importer->setSourceProvider($sourceProvider); $importer->setDestinationProvider($destinationProvider); $importer->addMapper($mapper); $importer->import(); }
Related Modules
- ride/lib-common
- ride/lib-i18n
- ride/lib-import
- ride/lib-import-database
- ride/lib-import-excel
- ride/lib-orm
- ride/lib-reflection
- ride/lib-validation
Installation
You can use Composer to install this library.
composer require ride/lib-import-orm