Skip to content

Commit b79df72

Browse files
committed
feat: Factory and Seeders namespace support added
1 parent c7a2200 commit b79df72

File tree

4 files changed

+36
-7
lines changed

4 files changed

+36
-7
lines changed

config/laravel_generator.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@
7575

7676
'api_request' => 'App\Http\Requests\API',
7777

78+
'seeder' => 'Database\Seeders',
79+
80+
'factory' => 'Database\Factories',
81+
7882
'repository_test' => 'Tests\Repositories',
7983

8084
'api_test' => 'Tests\APIs',

src/Common/GeneratorConfig.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ class GeneratorConfig
1313
public $nsDataTables;
1414
public $nsModelExtend;
1515

16+
public $nsSeeder;
17+
public $nsFactory;
18+
1619
public $nsApiController;
1720
public $nsApiRequest;
1821

@@ -139,6 +142,8 @@ public function loadNamespaces(CommandData &$commandData)
139142
if (config('infyom.laravel_generator.ignore_model_prefix', false)) {
140143
$this->nsModel = config('infyom.laravel_generator.namespace.model', 'App\Models');
141144
}
145+
$this->nsSeeder = config('infyom.laravel_generator.namespace.seeder', 'Database\Seeders').$prefix;
146+
$this->nsFactory = config('infyom.laravel_generator.namespace.factory', 'Database\Factories').$prefix;
142147
$this->nsDataTables = config('infyom.laravel_generator.namespace.datatables', 'App\DataTables').$prefix;
143148
$this->nsModelExtend = config(
144149
'infyom.laravel_generator.model_extend_class',
@@ -237,6 +242,9 @@ public function loadDynamicVariables(CommandData &$commandData)
237242
$commandData->addDynamicVariable('$NAMESPACE_DATATABLES$', $this->nsDataTables);
238243
$commandData->addDynamicVariable('$NAMESPACE_MODEL_EXTEND$', $this->nsModelExtend);
239244

245+
$commandData->addDynamicVariable('$NAMESPACE_SEEDER$', $this->nsSeeder);
246+
$commandData->addDynamicVariable('$NAMESPACE_FACTORY$', $this->nsFactory);
247+
240248
$commandData->addDynamicVariable('$NAMESPACE_API_CONTROLLER$', $this->nsApiController);
241249
$commandData->addDynamicVariable('$NAMESPACE_API_REQUEST$', $this->nsApiRequest);
242250

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,28 @@
11
<?php
22

3-
/** @var \Illuminate\Database\Eloquent\Factory $factory */
3+
namespace $NAMESPACE_FACTORY$;
44

55
use $NAMESPACE_MODEL$\$MODEL_NAME$;
6-
use Faker\Generator as Faker;
6+
use Illuminate\Database\Eloquent\Factories\Factory;
77

8-
$factory->define($MODEL_NAME$::class, function (Faker $faker) {
8+
class $MODEL_NAME$Factory extends Factory
9+
{
10+
/**
11+
* The name of the factory's corresponding model.
12+
*
13+
* @var string
14+
*/
15+
protected $model = $MODEL_NAME$::class;
916

10-
return [
11-
$FIELDS$
12-
];
13-
});
17+
/**
18+
* Define the model's default state.
19+
*
20+
* @return array
21+
*/
22+
public function definition()
23+
{
24+
return [
25+
$FIELDS$
26+
];
27+
}
28+
}

templates/seeds/model_seeder.stub

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<?php
22

3+
namespace $NAMESPACE_SEEDER$;
4+
35
use Illuminate\Database\Seeder;
46

57
class $MODEL_NAME_PLURAL$TableSeeder extends Seeder

0 commit comments

Comments
 (0)