dev-master
9999999-dev
The Requires
- composer/installers ~1.0
- php >=5.4.16
- cakephp/cakephp ~3.0
The Development Requires
dev-cake3
dev-cake3
The Requires
- composer/installers ~1.0
- php >=5.4.16
- cakephp/cakephp ~3.0
The Development Requires
Wallogit.com
2017 © Pedro Peláez
Allows the importing and exporting of a standard $this->data formatted array to and from csv files. Doesn't currently support HABTM., (*1)
Importing, exporting and setup come with the same options and default values, (*2)
$options = array(
// Refer to php.net fgetcsv for more information
'length' => 0,
'delimiter' => ',',
'enclosure' => '"',
'escape' => '\\',
// Generates a Model.field headings row from the csv file
'headers' => true,
// If true, String $content is the data, not a path to the file
'text' => false,
'array' => false
)
addBehavior('CakePHPCSV.Csv', $options);
}
}
?>
Upload a csv file to the server, (*3)
Import the csv file into your data variable:, (*4)
Approach 1: Use a CSV file with the first row being Model.field headers, (*5)
Posts.csv Post.title, Post.created, Post.modified, body, user_id, Section.name, Category.0.name, Category.0.description, Category.1.name, Category.1.description ..., ..., ...
$this->data = $this->Posts->import($content, $options);
Approach 2: Pass an array of fields (in order) to the method, (*6)
$data = $this->Posts->import($content, array('Post.title', 'Post.created', 'Post.modified', 'body', 'user_id', 'Category.0.name', 'Category.0.description', 'Category.1.name', 'Category.1.description'));
$entities = $this->Posts->newEntities($data);
$Table = $this->Posts;
$Table->connection()->transactional(function () use ($Table, $entities) {
foreach ($entities as $entity) {
$Table->save($entity, ['atomic' => false]);
}
});
Approach 1: Entity, (*7)
$data = $this->Post->find()->all();
$this->Posts->exportCsv($filepath, $data, $options);
Approach 2: Array, (*8)
$data = $this->Post->find()->toArray();
array to true$options['array'] = true; $this->Posts->exportCsv($filepath, $data, $options);
beforeImportCsv($filename, $fields, $options) returns boolean $continueafterImportCsv($data)beforeExportCsv($filename, $data, $options) returns boolean $continueafterExportCsv()Some people have mentioned having incorrect line endings. This can be fixed by having this in your php codebase:, (*9)
ini_set("auto_detect_line_endings", true);