"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Introdução ao Laravel: um guia para iniciantes no Query Builder

Introdução ao Laravel: um guia para iniciantes no Query Builder

Publicado em 2024-11-08
Navegar:987

Getting Started with Laravel: A Beginner

O Query Builder do Laravel fornece uma interface poderosa e fluente para construir consultas SQL em PHP. Ele permite que você interaja com o banco de dados em uma sintaxe expressiva semelhante a SQL, enquanto abstrai a maior parte da complexidade.

Examinaremos um caso de uso típico em uma aplicação Laravel usando o Query Builder para diversas tarefas, como selecionar, inserir, atualizar e excluir dados.


Etapa 1: configurar o projeto Laravel

Se você não tem um projeto Laravel, você pode configurar um da seguinte forma:

composer create-project --prefer-dist laravel/laravel laravel-query-builder
cd laravel-query-builder
php artisan serve

Certifique-se de definir a configuração do seu banco de dados no arquivo .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

Execute migrações para criar tabelas padrão:

php artisan migrate

Etapa 2: usar o Query Builder em um controlador

Vamos criar um controlador para demonstrar o uso do Query Builder:

php artisan make:controller UserController

Edite UserController.php com o seguinte código:

get();

        return response()->json($users);
    }

    // Insert a new user
    public function store(Request $request)
    {
        // Step 4: Insert a new user
        DB::table('users')->insert([
            'name' => $request->name,
            'email' => $request->email,
            'password' => bcrypt($request->password),
        ]);

        return response()->json(['message' => 'User created successfully!']);
    }

    // Update an existing user
    public function update(Request $request, $id)
    {
        // Step 5: Update user by ID
        DB::table('users')
            ->where('id', $id)
            ->update([
                'name' => $request->name,
                'email' => $request->email,
            ]);

        return response()->json(['message' => 'User updated successfully!']);
    }

    // Delete a user
    public function destroy($id)
    {
        // Step 6: Delete user by ID
        DB::table('users')->where('id', $id)->delete();

        return response()->json(['message' => 'User deleted successfully!']);
    }
}

Etapa 3: recuperar dados

Use o Query Builder para selecionar todas as linhas da tabela de usuários:

$users = DB::table('users')->get();
  • Descrição:
    • O método DB::table('users') tem como alvo a tabela de usuários.
    • O método get() recupera todos os registros dessa tabela.

Exemplo de resposta:

[
    {
        "id": 1,
        "name": "John Doe",
        "email": "[email protected]"
    },
    {
        "id": 2,
        "name": "Jane Doe",
        "email": "[email protected]"
    }
]

Etapa 4: inserir dados

Insira um novo usuário usando o Query Builder:

DB::table('users')->insert([
    'name' => 'Alice',
    'email' => '[email protected]',
    'password' => bcrypt('password123'),
]);
  • Descrição:
    • O método insert() insere uma nova linha na tabela de usuários.
    • Os dados são passados ​​como uma matriz associativa onde as chaves correspondem aos nomes das colunas.

Isso adiciona um novo usuário à tabela de usuários.


Etapa 5: atualizar dados

Para atualizar um registro existente, use update():

DB::table('users')
    ->where('id', 1)
    ->update([
        'name' => 'John Smith',
        'email' => '[email protected]'
    ]);
  • Descrição:
    • A cláusula where() seleciona a linha com id = 1.
    • O método update() modifica os campos de nome e e-mail da linha selecionada.

Isso atualiza o usuário com ID 1 na tabela de usuários.


Etapa 6: excluir dados

Para excluir um registro do banco de dados, use delete():

DB::table('users')->where('id', 2)->delete();
  • Descrição:
    • A cláusula where() especifica a condição para selecionar o usuário com ID 2.
    • O método delete() remove a linha correspondente da tabela.

Isso exclui o usuário com ID 2.


Etapa 7: Filtrando com o Query Builder

Você pode encadear métodos adicionais para filtrar os dados ou adicionar condições à consulta.

Exemplo: recuperar usuários com uma condição específica

$users = DB::table('users')
    ->where('email', 'like', '%example.com%')
    ->orderBy('name', 'asc')
    ->get();
  • Descrição:
    • A cláusula where() adiciona uma condição, buscando usuários cujo e-mail contenha example.com.
    • O método orderBy() classifica os usuários por nome em ordem crescente.

Etapa 8: Paginação

O Query Builder do Laravel facilita a paginação dos resultados.

$users = DB::table('users')->paginate(10);
  • Descrição:
    • O método paginate() divide os resultados em páginas, exibindo 10 resultados por página.

Etapa 9: transações

Use transações de banco de dados para garantir que várias consultas sejam executadas com sucesso. Se uma consulta falhar, todas as alterações serão revertidas.

DB::transaction(function () {
    DB::table('users')->insert([
        'name' => 'John Doe',
        'email' => '[email protected]',
        'password' => bcrypt('password123')
    ]);

    DB::table('orders')->insert([
        'user_id' => 1,
        'order_total' => 500
    ]);
});
  • Descrição:
    • O método transaction() garante que as inserções da tabela de usuários e pedidos sejam executadas com sucesso. Se alguma delas falhar, ambas as operações serão revertidas.

Etapa 10: consultas brutas

Se você precisar executar SQL bruto, o Query Builder do Laravel permite:

$users = DB::select('SELECT * FROM users WHERE id = ?', [1]);
  • Descrição:
    • O método select() pode ser usado para executar consultas SQL brutas.
    • Ele usa instruções preparadas (?) para segurança, evitando injeção de SQL.

Conclusão

O Query Builder do Laravel oferece uma maneira poderosa e flexível de interagir com seu banco de dados, abstraindo grande parte da complexidade do SQL. Ao dividir cada parte - recuperação, inserção, atualização, exclusão, filtragem e muito mais - você pode gerenciar facilmente as interações do banco de dados de maneira limpa e organizada.

Este exemplo fornece um guia básico para o Query Builder. À medida que seu aplicativo cresce, você pode usar recursos mais avançados, como junções, subconsultas e carregamento rápido com o Eloquent.

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/mdarifulhaque/getting-started-with-laravel-a-beginners-guide-to-query-builder-j0i?1 Se houver alguma violação, entre em contato com study_golang@163 .com para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3