Download the PHP package s1dd/magus without Composer
On this page you can find all versions of the php package s1dd/magus. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package magus
Magus
Import CSV and JSON data into Laravel models, with the use of mutators to manipulate data before data is stored in the database.
Installation
Add to the section of your .
...and as a dependency
Add the Service Provider to your :
...and as an alias so that it can be used as a Facade:
Configuration
If you would like to add mutators to Magus, publish the configuration, and supply an array whose values are Closures.
The configuration files are at:
Usage
The only prerequisite is that the configuration must be published, and the model to populate must already exist.
If we wanted to populate a model, which contains a , , and , and we had a CSV string that houses this data in a different format, i.e.:
We would first need to parse the string into an associative array, and then import this array into the database:
First, Magus checks the user-supplied in order to map CSV columns to their respective database columns. Then, Magus resolves the first parameter from the IoC container so it can be used as if it was a model. It then invokes the method to insert it into the database after the input has been "mutated."
Fieldmaps
As described earlier, fieldmaps.php is simply a mapping from CSV column names to database column names. An example:
Mutators
Mutators are a powerful part of Magus that allow for data manipulation prior to saving. In order to declare a Mutator, open up , and add a key for the model which will be updated. Then, for each field that needs to be manipulated, declare a sub-key that points to a closure. To provide a clearer picture:
License
This project is licensed under the MIT license.