Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Curso de Laravel para Noobs - #18 Models IX [whereIn]

17/07/2023

Neste tutorial aprenderemos como realizar consultas no banco de dados do Laravel tendo como origens arrays. Para isso, utilizaremos o método whereIn.

Query com arrays no Laravel

Para usar a cláusula "WHERE IN" no Laravel, você pode usar o método whereIn do construtor de consultas (QueryBuilder). O método whereIn permite que você especifique uma coluna e uma matriz de valores para procurar nessa coluna.

Primeiramente vamos criar um model de exemplo que será o model Filme:

Criando o model e a migration

php artisan make:model Filme -mcr

Posteriormente vamos criar uma migration bem simples e exportar para o banco:

public function up()
{
    Schema::create('filmes', function (Blueprint $table) {
        $table->id();
        $table->string('nome');
        $table->string('categoria');
        $table->timestamps();
    });
}
php artisan migrate

routes/web.php

Criaremos a rota relativa ao exemplo desta aula:

Route::resource('/filmes',\App\Http\Controllers\FilmeController::class);

views/filmes.blade.php

Criei uma view chamada filme (não se preocupe, ainda falaremos sobre views):

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <form action="{{url('filmes')}}" method="post">
        @csrf
        <input type="checkbox" name="categoria[]" value="TERROR"> TERROR <br>
        <input type="checkbox" name="categoria[]" value="AÇÃO"> AÇÃO <br>
        <input type="checkbox" name="categoria[]" value="ROMANCE"> ROMANCE <br>
        <input type="submit">
    </form>
</body>
</html>

app/Http/Controllers/FilmeController.php

No controller, iremos chamar o método index para trazer a view acima e um outro método para testar o whereIn do Laravel:

public function index()
{
    return view('filmes');
}

public function store(Request $request)
{
    $categorias = $request->categoria;
    $filmes = Filme::whereIn('categoria',$categorias)->get();
    $html = 'Os filmes que você selecionou são: 
'; foreach ($filmes as $filme){ $html .= $filme->nome.'
'; } echo $html; }

Por hoje é só! Fiquem todos com Deus! Sucesso nos códigos e na vida!

Precisa de suporte? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Curso de Laravel para Noobs - #17 Models VIII [HasMany]
Na aula de hoje aprenderemos como usar o relacionamento de um pra muitos dentro do Laravel, o famoso hasMany.
Saiba mais!
Curso de Laravel para Noobs - #19 Seeders
Nessa 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 reali
Saiba mais!
Framework
Nessa playlist aprenderemos um pouco mais sobre os diferentes frameworks existentes, apontando os defeitos e qualidades de cada um.
Saiba mais!