A) POBLACION CON DATA ESTATICA
Para Crear Seeders
> php artisan
make:seeder RolSeeder
Archivo principan de llamada
> aplicación
> database
> seeds
>
DatabaseSeeder.php (condiguraciones de sedders)
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->truncateTables([
'rol',
'permiso'
]);
$this->call(RolSeeder::class);
$this->call(PermisoSeeder::class);
}
protected function truncateTables(array $tablas){
DB::statement('SET FOREIGN_KEY_CHECKS = 0;');
foreach($tablas as $tabla){
DB::table($tabla)->truncate();
}
DB::statement('SET FOREIGN_KEY_CHECKS = 1;');
}
}
> aplicación
> database
> seeds
>
RolSeeder.php
<?php
use Illuminate\Database\Seeder;
use Carbon\Carbon;
class RolSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$roles=[
'ADMINISTRADOR',
'EDITOR',
'SUPERVISOR'
];
foreach ($roles as $key => $value) {
DB::table('rol')->insert([
'nombre'=>$value,
'created_at'=> Carbon::now()->format('Y-m-d H:i:s')
]);
}
}
}
Para ejecutar la migración ejecutar
> php artisan db:seed
B) POBLACION CON DATA DINAMICA
(MEDIANTE FACTORY)
Crear Seeder
$ php artisan make:seeder PermisoSeeder
<?php
use Illuminate\Database\Seeder;
use Carbon\Carbon;
class RolSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$roles=[
'ADMINISTRADOR',
'EDITOR',
'SUPERVISOR'
];
foreach ($roles as $key => $value) {
DB::table('rol')->insert([
'nombre'=>$value,
'created_at'=> Carbon::now()->format('Y-m-d H:i:s')
]);
}
}
}
Crear un Factory
$ php artisan
make:factory PermisoFactory
<?php
/* @var $factory \Illuminate\Database\Eloquent\Factory */
use App\Model\Permiso;
use Faker\Generator as Faker;
$factory->define(Permiso::class, function (Faker $faker) {
return [
'nombre'=>$faker->word,
'slug'=>$faker->word
];
});
Necesitaremos adicionalmente un
Model
Creamos una carpeta Model
$ php artisan make:model Model/Permiso
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class Permiso extends Model
{
protected $table = "permiso";
}
Para la migración ejecutar
$ php artisan db:seed

0 Comentarios