diff --git a/README.md b/README.md index d87dd5b..63663f3 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,71 @@ -# Laravel 5 Model Factory Generator [WIP] +# Laravel 5 Model Factory Generator -This package offer a lazy way to create a new model factory files, since Laravel has no Artisan command to generate it. +This package offers a lazy way to create a new model factory files, since Laravel has no Artisan command to generate it. + +## Installation +First, install this package via the Composer package manager: +``` +composer require rymanalu/factory-generator +``` + +Next, you should add the `FactoryGeneratorServiceProvider` to the `providers` array of your `config/app.php` configuration file: +```php +Rymanalu\FactoryGenerator\FactoryGeneratorServiceProvider::class, +``` +Now, you should be able to generate a new model factory file by executing `php artisan make:factory` command. + +## Usage +`php artisan make:factory` accept one argument: the model class name with the namespace. Make sure the model is already exists before execute this command. + +Example: + +``` +php artisan make:factory "App\Post" +``` +The command will generate a file named `PostFactory.php` in `path/to/your-laravel-project/database/factories` directory: + +```php +define(Post::class, function (Faker $faker) { + // +}); +``` +This command also using the fillable array of the model and assign it to `$faker->word` as default (you can change it to the proper [Faker](https://github.com/fzaninotto/Faker) Formatters later) in the generated model factory. + +For example, if the `App\Post` has fillable array like this: +```php +define(Post::class, function (Faker $faker) { + return [ + 'text' => $faker->word, + ]; +}); +```