protected function truncateTablas(array $tablas) {
DB::statement('SET FOREIGN_KEY_CHECKS = 0;');
foreach ($tablas as $tabla) {
DB::table($tabla)->truncate();
}
DB::statement('SET FOREIGN_KEY_CHECKS = 1;');
}
OJO: siempre que se use DB hay que incluir:
use Illuminate\Support\Facades\DB;
Ahora creamos un nuevo model con su migración:
php artisan make:model Provincia --migration
En esa nueva migración rellenar los campos que se quieran en el run:
Schema::create('provincias', function (Blueprint $table) {
$table->id();
$table->string("nombre_provincia");
$table->timestamps();
});
Y ejecutar el migrate para que se cree dicha tabla en la BD:
php artisan migrate
Ahora crear el Seeder:
php artisan make:seeder TablaProvinciaSeeder
y en el run de este seeder:
$provincias = ['Álava', 'Albacete', 'Alicante', 'Almería', 'Asturias', 'Ávila', 'Badajoz'];
foreach ($provincias as $clave=>$value) {
DB::table('provincias')->insert([
'nombre_provincia' => $value
]);
}
Todo seeder que se cree hay que añadirlo al DatabaseSeeder
Por lo que en el run del DatabaseSeeder.php:
$this->truncateTablas([
'provincias'
]);
$this->call(TablaProvinciaSeeder::class);
Y ya simplemente ejecutar:
php artisan db:seed
Si en vez de usar un array queremos que nos genere nombres aleatorios sería:
use Illuminate\Support\Str;
...
for ($i=0;$i<50;$i++) {
DB::table('provincias')->insert([
'nombre_provincia' => Str::random(15)
]);
}
No hay comentarios:
Publicar un comentario