ride / lib-import-orm
Ride框架导入库的ORM提供者
1.0.2
2019-03-19 13:43 UTC
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
PHP Ride框架导入库的ORM提供者。
代码示例
查看此代码示例以了解如何使用这些提供者
<?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(); }
相关模块
- 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
安装
您可以使用Composer安装此库。
composer require ride/lib-import-orm