Primero añadimos la llamada al archivo seeder que vamos a crear (UserTableSeeder) en el archivo DatabaseSeeder
{
Model::unguard();
$this->call('UserTableSeeder');
}
Creamos el archivo seeder UserTableSeeder
<?php
use Illuminate\Database\Seeder;
class UserTableSeeder extends Seeder {
public function run(){
\DB::table('users')->insert(array(
'name'}
Para ejecutar los seeds ejecutamos el migrate refresh que hace un rollback completo y vuelve a ejecutar los archivos migrates y añadirle el flag seed para que ejecute los seeds.
php artisan migrate:refresh --seed
O directamente que solo ejecute los seeds
php artisan db:seed
Faker es una librería para generar registros de forma automática para uso en testeos por ejemplo, para instalarlo escribimos lo siguiente en la consola.
composer require fzaninotto/faker
Instrucciones sobre su uso y propiedades
https://github.com/fzaninotto/Faker
En el siguiente ejemplo crearemos un registro para introducirlo en la tabla users.
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
class UserTableSeeder extends Seeder {
public function run(){
$faker = Faker::create();
\DB::table('users')->insert(array(
'name'ame,
'email'ique()->email(),
'password'=> \Hash::make('secret')
));
}
}
En el siguiente ejemplo crearemos 30 registros.
<?php
use Illuminate\Database\Seeder;
use Faker\Factory as Faker;
class UserTableSeeder extends Seeder {
public function run(){
$faker = Faker::create();
for($i = 0, $i < 30; $i ++){
\DB::table('users')->insert(array(
'name'ame,
'email'ique()->email(),
'password'=> \Hash::make('secret')
));
}
}
}
En el siguiente ejemplo crearemos 30 registros en la tabla users y sus relacionados en la tabla user_profiles
<?php
use Illuminate\Database\seeder;
use Faker\Factory as Faker;
class UserTableSeeder extends Seeder {
public function run(){
$faker = Faker::create();
for($i = 0; $i < 30; $i ++){
$id = \DB::table('users')->insertGetId(array(
'name'ame,
'email'ique()->email(),
'password'=> \Hash::make('secret')
));
\DB::table('user_profiles')->insert(array(
'bio'd(2, 5)),
'twitter'=> 'http://www.twitter.com/' . $faker->userName,
'website'=> 'http://www.' . $faker->domainName,
'user_id'=> $id,
));
}
}
}
Si nos devolviera un error de que no encuentra la clase no olvidemos hacer un auto dumpload, seguramente cuando hicimos un update via composer no ejecutamos ese comando.
composer dump-autoload


