Curso de Laravel para Noobs - #19 Seeders
28/07/2023Nessa aula aprenderemos como criar seeder dentro do framework Laravel de forma que consigamos popular o banco de dados de maneira rápida e eficiente para realizar testes.
Semeadores do Laravel
No contexto do Laravel, um "seeder" é uma classe que permite popular o banco de dados com dados de teste ou dados iniciais. O Laravel é um popular framework de desenvolvimento web em PHP que segue o padrão MVC (Model-View-Controller) e fornece muitas ferramentas e recursos para facilitar o desenvolvimento de aplicativos web.
Os seeders são especialmente úteis durante o desenvolvimento e testes de um projeto, pois permitem que você crie um conjunto consistente de dados no banco de dados sem precisar inseri-los manualmente. Isso é valioso para simular dados reais no ambiente de desenvolvimento e para preparar o banco de dados para testes automatizados.
Os seeders são geralmente colocados no diretório database/seeders do seu projeto Laravel. Cada seeder é uma classe que estende a classe Seeder do Laravel e possui um método chamado run(). Dentro desse método, você pode utilizar o Eloquent ORM do Laravel para criar registros no banco de dados.
Para a criação de um novo seeder podemos chamar o seguinte comando:
php artisan make:seeder NomeSeeder
database/seeders/UserSeeder.php
Os seeders possuem a seguinte estrutura:
<?php
namespace Database\Seeders;
use App\Models\Todo;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class UserSeeder extends Seeder
{
public function run()
{
User::insert([
[
'id' => 1,
'name' => 'thiagouser',
'email' => 'qualquer@oi.com',
'password' => Hash::make('123')
],
[
'id' => 2,
'name' => 'Marianauser',
'email' => 'mariana@oi.com',
'password' => Hash::make('456')
]
]);
Todo::insert([
[
'nome' => 'PSDB',
'votos' => 3,
'user_id' => 1
]
]);
}
}
database/seeders/DatabaseSeeder.php
Não esqueça que após criar o seeders é necessário chamá-los atravase do arquivo DatabaseSeeder.php
public function run()
{
$this->call([
UserSeeder::class
]);
}
Por fim, para rodar um seeder, basta chamar o comando no terminal:
php artisan db:seed
Por hoje é só! Fiquem todos com Deus! Sucesso nos códigos e na vida!
Precisa de um suporte profissional? webdesignemfoco@gmail.com