laravel

Laravel Query Builder

Laravel Query Builder
O construtor de consultas Laravel oferece uma maneira simples e conveniente de criar e executar consultas de banco de dados e é suportado por todos os sistemas de banco de dados Laravel. É usado para proteger a aplicação Laravel do ataque de injeção SQL usando a vinculação de parâmetros PDO. Este pacote pode realizar vários tipos diferentes de operações de banco de dados, como CRUD (Inserir, Selecionar, Atualizar e Excluir) e agregar funções, como UNION, SUM, COUNT, etc. Este tutorial mostra como aplicar um construtor de consultas para realizar várias operações CRUD no banco de dados.

Pré-requisitos

Antes de iniciar este tutorial, primeiro, conclua as seguintes tarefas.

  1. Crie um novo projeto Laravel
  2. Faça a conexão do banco de dados

Crie uma mesa

Você pode usar uma ou mais tabelas de banco de dados para aplicar um construtor de consultas para executar diferentes tipos de consultas. Uma nova mesa, chamada clientes, é criado aqui para mostrar os usos do construtor de consultas. Execute o seguinte comando para criar um arquivo de migração para criar a estrutura do clientes tabela. Um arquivo de migração será criado no banco de dados / migração pasta depois de executar o comando.

$ php artisan make: migration create_clients_table

Abra o arquivo de migração recém-criado e atualize o pra cima() método com o seguinte código. Seis campos serão gerados para a tabela de clientes após a execução do comando migrate. Os campos são id, nome, email, endereço, created_at, e updated_at.

função pública para cima ()

Esquema :: criar ('clientes', função (Blueprint $ table)
$ tabela-> id ();
$ tabela-> string ('nome');
$ table-> string ('email');
$ tabela-> texto ('endereço');
$ table-> timestamps ();
);

Execute o seguinte comando para criar a tabela no banco de dados com base na estrutura definida no arquivo de migração.

$ php artisan migrate

Você pode verificar os campos da tabela abrindo a estrutura do clientes mesa do phpMyAdmin. A seguinte saída aparecerá após abrir a estrutura da tabela.

Inserir dados na tabela usando o Query Builder

Você pode inserir dados na tabela usando o construtor de consultas. Aqui o rede.php arquivo é usado para inserir três registros no clientes mesa e está localizado no rotas pasta. Abra o arquivo e adicione a seguinte rota para inserir os registros.

Route :: get ('insert', function ()
/ * Insira o primeiro registro * /
DB :: tabela ('clientes') -> inserir (['nome' => 'Md. todos',
'email' => '[email protegido]',
'endereço' => '12 / 1, Dhanmondi, Dhaka ',
]);
/ * Insira o segundo registro * /
DB :: tabela ('clientes') -> inserir (['nome' => 'Sharmin Jahan',
'email' => '[email protegido]',
'address' => '156, Mirpur, Dhaka',
]);
/ * Inserir 3º registro * /
DB :: tabela ('clientes') -> inserir (['nome' => 'Mehrab Hossain',
'email' => '[email protegido]',
'endereço' => '34 / A, Mohammedpur, Dhaka ',
]);
/ * Imprimir mensagem * /
echo "

Três registros de cliente são inseridos

);

Execute a seguinte URL em qualquer navegador após iniciar o servidor de desenvolvimento Laravel para inserir os dados no clientes tabela.

http: // localhost: 8000 / insert

A seguinte mensagem aparecerá no navegador após inserir os dados. Você pode verificar o conteúdo da tabela abrindo-a no phpMyAdmin.

Ler dados da tabela usando o Query Builder

Você pode executar diferentes tipos de consultas Select usando o construtor de consultas. Os quatro tipos de registros são recuperados usando o construtor de consultas na seguinte função de rota. Um arquivo de visualização chamado clientes.lâmina.php é usado aqui para mostrar os dados recuperados da tabela e o código da visão é dado mais tarde.

Route :: get ('show', function ()
/ * Recuperar todos os registros da tabela de clientes * /
$ clientList1 = DB :: table ('clients') -> get ();
/ * Recupera o primeiro registro da tabela de clientes * /
$ clientList2 = DB :: table ('clients') -> first ();
/ * Recupera o terceiro registro da tabela de clientes * /
$ clientList3 = DB :: table ('clients') -> find (3);
/ * Recupere o nome de um cliente com base no e-mail da tabela de clientes * /
$ clientList4 = DB :: table ('clients') -> where ('email', '[email protected]') -> value ('name');
/ * Retorna os valores das quatro variáveis ​​no arquivo de visualização para mostrar os dados
Obtido da mesa * /
return view ('clients', ['clientList1' => $ clientList1, 'clientList2' => $ clientList2,
'clientList3' => $ clientList3, 'clientList4' => $ clientList4]);
);
clientes.lâmina.php

Lista de todos os clientes



@if (@isset ($ clientList1))






@foreach ($ clientList1 as $ client1)





@endforeach
ID do ClienteNomeEndereçoE-mail
$ client1-> id$ client1-> nome$ client1-> endereço$ client1-> email

@fim se

@if (@isset ($ clientList2-> name))

O nome do primeiro cliente é $ clientList2-> nome


@fim se
@if (@isset ($ clientList3-> email))

O e-mail do terceiro cliente é $ clientList3-> email


@fim se
@if (@isset ($ clientList4))

O nome do cliente com base no e-mail é $ clientList4


@fim se

Execute a seguinte URL em qualquer navegador após iniciar o servidor de desenvolvimento Laravel para ler os dados do clientes tabela.

http: // localhost: 8000 / show

A seguinte saída aparecerá no navegador após a execução do URL. O conteúdo de $ clientList1 variável é mostrada em forma tabular e a saída de $ clientList2, $ clientList3 e $ clientList4 são mostrados em uma linha.

Atualizar dados usando o Query Builder

Você pode atualizar um ou vários campos com base em uma ou várias condições usando o criador de consultas. De acordo com a seguinte função de rota, o valor do nome campo será atualizado com base no valor do o email campo. Em seguida, o conteúdo de todos os registros no clientes a tabela será recuperada e enviada para o arquivo de visualização para verificar o conteúdo atualizado da tabela.

Route :: get ('update', function ()
DB :: table ('clients') -> where ('id', 1) -> update (['name' => 'Mohammed Ali']);
echo "
Nome do primeiro cliente é atualizado
";
$ clientList1 = DB :: table ('clients') -> get ();
visualização de retorno ('clientes', ['clientList1' => $ clientList1]);
);

Execute a seguinte URL em qualquer navegador após iniciar o servidor de desenvolvimento Laravel para atualizar os dados do clientes tabela.

http: // localhost: 8000 / update

A seguinte saída aparecerá no navegador após a execução do URL. O conteúdo do $ clientList1 variável é mostrada em forma tabular. Aqui, o valor do nome campo é atualizado com o novo valor.

Excluir dados usando o Query Builder

Todos os registros ou um registro particular podem ser excluídos usando o construtor de consultas. A seguinte função de rota excluirá o terceiro registro no clientes tabela, recupere todos os registros após a exclusão e retorne os valores para o arquivo de visualização.

Route :: get ('delete', function ()
DB :: table ('clients') -> where ('id', '=', 3) -> delete ();
echo "
O terceiro registro é excluído
";
$ clientList1 = DB :: table ('clients') -> get ();
visualização de retorno ('clientes', ['clientList1' => $ clientList1]);
);

Execute a seguinte URL em qualquer navegador após iniciar o servidor de desenvolvimento Laravel para deletar um registro do clientes tabela.

http: // localhost: 8000 / delete

A seguinte saída aparecerá no navegador após a execução do URL. O conteúdo do $ clientList1 variável é mostrada em forma tabular. Aqui, o terceiro registro é excluído da tabela.

Vídeo tutorial

Conclusão

Os usos básicos do construtor de consultas são mostrados neste tutorial para ajudar novos desenvolvedores Laravel a entender melhor os métodos de execução de consultas de banco de dados no aplicativo Laravel.

Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...
5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...