Creación de componentes para Laravel

De jetiradoro.com
Saltar a: navegación, buscar

Creación de seeders en el componente

Para crear un seeder y que se pueda llamar a través de un comando de instalación del package, laravel no ofrece ninguna funcionalidad de forma nativa, pero en cambio podemos crear una función personalizada que cumpla con el objetivo. Para ello en el Command personalizado añadimos el siguiente código:

protected function registerSeedsFrom($path)
{
    foreach (glob("$path/*.php") as $filename) {
        include $filename;
        $classes = get_declared_classes();
        $class = end($classes);

        Artisan::call('db:seed', ['--class' => $class]);
    }
}

Entonces desde la función handle()  definimos una variable con el path donde tenemos los seeders y se la pasamos a la función.

$path = __DIR__.'/../database/seeders';
$this->registerSeedsFrom($path);

 


--Jesús Tirado (discusión) 07:30 5 feb 2020 (UTC)