12. Seeders en Laravel ¿Qué son y para que sirven?

Los seeders te permiten definir datos de prueba en código y ejecutarlos de manera automatizada, lo que facilita el proceso de llenado de datos en la base de datos. En este capítulo, te enseñaremos cómo crear y ejecutar seeders en Laravel, cómo definir datos de prueba y cómo utilizar las relaciones Eloquent para crear datos de prueba relacionados. Además, conocerás cómo utilizar las clases Factory en Laravel para crear datos aleatorios y cómo utilizar el comando "db:seed" para ejecutar tus seeders. Con estos conocimientos, podrás llenar la base de datos con datos de prueba de manera fácil y automatizada en tus aplicaciones Laravel.


4 comentarios

Inicia sesión para comentar

Comentarios:

  • Leonardo Sales

    Leonardo Sales hace 7 meses

    Hola, excelente tu curso. Soy un programador ciego, por lo tanto se agradece que incluyas el código en los comentarios. Un abrazo desde Argentina!

  • Walter

    Walter hace 1 año

    ? Para eliminar todas las tablas que se han creado en la BD: php artisan migrate:reset

     

    ? Seeders: Nos permite “sembrar” datos de prueba.

          Los encontramos en database/seeders

          Allí esta el archivo DatabaseSeeder.php donde pondremos el mismo código que usamos en tinker para agregar datos a la tabla.

          …

           use App\Models\Curso;

          …

          $curso = new Curso();

          $curso->name = “Laravel”;

          $curso->description = “El mejor framework de PHP”;

          $curso->categoria = “Desarrollo web”;

          $curso->save();

          …

          Luego ejecutamos: php artisan db:seed para correr únicamente el archivo DatabaseSeeder.php

     

    ? Modularizamos los seeders: php artisan make:seeder CursoSeeder 

          Movemos al nuevo archivo CursoSeeder.php lo que antes pusimos en DatabaseSeeder.php y lo reemplazamos por: $this->call(CursoSeeder::class);

          Por último ejecutamos: php artisan migrate:fresh --seed 

     

  • Francisco Peña

    Francisco Peña hace 1 año

    Hola Víctor, me gustaría que me comentaras que curso me recomendarías de los que tu tienes para aprender desde cero hasta experto de Laravel, en el que quizás vayas dejando documentación y código, y también, al igual que este, que este actualizado a Laravel 9. No tiene porque ser gratuito, entiendo que tu trabajo debe de ser bonificado porque haces un grandísimo trabajo.

    • Victor Arana Flores hace 1 año

      Hola Francisco. Todos mis cursos están actualizados para Laravel 9.

      Con este curso puedes aprender las bases de Laravel, de principio a fin. Y si quieres profundizar puedes adquirir cualquiera de mis cursos de paga. En todos vas a aprender algo nuevo.

  • Oscar Quintanilla

    Oscar Quintanilla hace 1 año

    Para laravel 9 pueden ocupar esta forma : 

     

        public function run()

        {

            //Creando los datos que pasaremos a la base de datos

           $cursos = [

            [

                'name'=>'Nombre del curso',

                'descripcion' => 'Descripcion de uno de los cursos',

                'categoria' => 'Categoria del curso'

            ],

            [

                'name'=>'Nombre del curso dos',

                'descripcion' => 'Descripcion de uno de los cursos',

                'categoria' => 'Categoria del curso dos'

            ],

           ];

     

           //Recorriendo los cursos y enviandolo a la base de datos

           foreach($cursos as $key => $value){

            Curso::create($value);

           }

        }