akutaktau / csv-importer
CsvImporter plugin for CakePHP
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=7.2
- cakephp/cakephp: 4.4.*
Requires (Dev)
- phpunit/phpunit: ^8.5 || ^9.3
This package is auto-updated.
Last update: 2024-11-24 14:44:58 UTC
README
Not yet supported unit testing. Still in development
Pre-requisites
- Model to use with this plugin must be created
- Model should follow Cakephp -> table naming convention
Installation
You can install this plugin into your CakePHP application using composer.
The recommended way to install composer packages is:
composer require akutaktau/csv-importer
Load the plugin
bin/cake plugin load CsvImporter
Go to http://yourdomain/csv-importer/imports
##Use with your own UI In the controller add
use CsvImporter\Controller\Component\ImportCsvComponent;
Then load the component
$this->loadComponent('CsvImporter.ImportCsv');
To get list of tables
$this->ImportCsv->getTables();
To get list of table column
$this->ImportCsv->getFields($table);
To upload and save csv to database
$this->ImportCsv->saveFile($data['field'],$data['tables'],$files['inputNameFromForm'],$delimiter);
$data['field'] is an array consist of fieldName from the table as the index and column number from the csv as the value.
$data['field'] = ['fieldName1' => 'columnNumber2','fieldName2' => 'columnNumber4']
$data['tables'] should have the table name.
$data['tables'] = 'tableName';
$files['inputNameFromForm'] should contain object from $this->getRequest()->getUploadedFiles()
$files = $this->getRequest()->getUploadedFiles();
$delimiter contain csv separator value
$delimiter = ',';