Popular Dados Predeterminados no Laravel

Abra o arquivo DatabaseSeeder.php que esta no diretório app/database/seeds. O conteúdo deve ser algo como:

<?php
class DatabaseSeeder extends Seeder {
public function run() {
Eloquent::unguard();
//$this->call('UserTableSeeder');
}
}

 
Descomente a linha $this->call(‘UserTableSeeder’), ou seja, remova o // e salve o arquivo, ficando algo como:

<?php
class DatabaseSeeder extends Seeder {
public function run() {
Eloquent::unguard();
$this->call('UserTableSeeder');
}
}

 
Abra o arquivo UserTableSeeder.php, caso não exista, crie-o.
Caso não tenha, crie a classe UserTableSeeder estendida de Seeder e o método público run, por exemplo:

<?php
class UserTableSeeder extends Seeder {
public function run() {
//
}
}
&#91;/php&#93;
&nbsp;
O método <strong>run</strong> aceita os conceitos de persistência <a href="http://laravel.com/docs/eloquent" title="Laravel Eloquente ORM" target="_blank">Eloquent ORM</a> e <a href="http://laravel.com/docs/queries" title="Laravel Query Builder" target="_blank">Query Builder</a>, portanto, a codificação é parecida com o controlador (<a href="http://laravel.com/docs/controllers" title="Laravel Controller" target="_blank">Controller</a>).
Exemplo de população de dados predeterminados:
[php]
<?php
class UserTableSeeder extends Seeder {
public function run() {
$this->destroyUsers();
$datas = $this->getUsers();
foreach ($datas as $data) {
$user = new User();
$user->fill($data);
$user->save();
}
}
private function getUsers() {
$level = '0'; // Administrator
$active = '1'; // TRUE
$now = time();
$token = NULL;
$users = array(
array (
'fullname' => 'Guedes',
'password' => '$2y$10$PGdZzlrfDTmXncj.E6K6WeO36S9whJkYVgL76ejmvWrZzcmfUUzJ1',
'email' => 'contato at billguedes.com.br',
'level' => $level,
'active' => $active,
'created_at' => $now,
'updated_at' => $now,
'remember_token' => $token
),
array (
'fullname' => 'Luís Fernandes',
'password' => '$2y$10$Abhx5DjOuWslPwWkWgo3/O6qOsfkXMgodfm5.BHy4p38f25jGMA7G',
'email' => 'l.fernandes at gmail.com',
'level' => $level,
'active' => $active,
'created_at' => $now,
'updated_at' => $now,
'remember_token' => $token
),
);
return $users;
}
private function destroyUsers() {
DB::table('users')->truncate();
}
}

 
O bloco de código acima irá limpar a tabela users, pegará a matriz de usuários e adicionará cada usuário no banco banco de dados.
Abra o cliente SSH e entre no diretório do sistema com o Laravel.
Digite o comando:

php artisan db:seed --force

 
O comando acima populará os dados predeterminados efetivamente no banco de dados.