Files
telekeci/database/seeders/DatabaseSeeder.php

41 lines
1023 B
PHP

<?php
namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use App\Modules\BaseModule;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\File;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
$seeders = [];
modules()->each(function (BaseModule $module) use (&$seeders) {
$seedersPath = $module->path.'/Database/Seeders';
if (is_dir($seedersPath)) {
$files = File::files($seedersPath);
foreach ($files as $file) {
$file->getFilenameWithoutExtension();
$moduleClass = 'App\\Modules\\'.$module->name.'\\Database\\Seeders\\'.$file->getFilenameWithoutExtension();
if (class_exists($moduleClass)) {
$seeders[] = $moduleClass;
}
}
}
});
$this->call($seeders);
}
}