Índice
Apesar de todas as facilidades que nos oferece Laravel Para a manipulação de dados e estruturas de dados, ainda existem pessoas que preferem realizar parte do processo de manipulação diretamente, para isso devemos utilizar consultas explícitas ou diretas.Embora não seja ruim, devemos ter muito cuidado, pois ao fazer consultas diretas podemos expor nossa aplicação ou diminuir seu desempenho, porém se soubermos o que estamos fazendo, podemos obter algumas coisas que devido à sua complexidade seriam difíceis de conseguir caso contrário.
Para incorporar essas consultas diretas, podemos incorporar dados dentro de um arquivo de migrações, com isso podemos garantir que manteremos o histórico de nossas alterações e desta forma se precisarmos retornar a um estado anterior em nosso banco de dados podemos fazê-lo.
Vamos partir da premissa de que temos uma tabela em nosso banco de dados, para criar uma migração onde adicionamos dados manualmente, fazemos o seguinte:
· Vamos gerar a migração de adicionar dados com o seguinte código:
php artisan migrate: make add_data_to_shows_table
Isso deve gerar um arquivo do estilo 2014_07_02_222551_add_data_to_shows_table.php onde a numeração corresponde à data em que o arquivo foi gerado.
· Vamos agora ver na imagem a seguir um código de exemplo que podemos adicionar no método pra cima ():
Vemos que preparamos um pequeno conjunto de dados com 3 registros, até agora tudo foi muito simples, agora veremos como podemos fazer consultas diretas.Para fazer consultas diretas, devemos seguir os seguintes passos.
1- Devemos primeiro gerar um modelo, para isso em nossa aplicação no diretório app / modelos vamos criar um arquivo chamado Show.php, este nome é o singular do banco de dados, desta forma com a convenção de Laravel nós podemos usá-lo. Vamos ver o que nosso modelo vai vestir:
Dentro da classe, vemos que criamos manualmente uma consulta SQL que consulta todos os dados e criamos uma condição onde podemos adicionar uma cláusula para ordenar nossos dados, caso não passemos esses argumentos para ela, a consulta será gerado sem o pedido.
2- Uma vez que temos o conjunto de dados criado, vamos gerar uma rota onde podemos chamar nossa consulta com SQL direto, para isso devemos adicionar o código correspondente no arquivo routes.php com o seguinte conteúdo que vemos na imagem:
Vemos então que criamos um objeto do modelo que declaramos na etapa anterior, então chamamos o método que incluímos e passamos a ele um campo e uma orientação para fazer o ***** de a partir da resposta dos resultados, finalmente usamos o método ajudante por Laravel dd () para exibir os dados, em um aplicativo normal, em vez desse método auxiliar, poderíamos enviar os resultados a uma visualização para iterar sobre eles.
Como podemos ver, é muito fácil fazer um consulta SQL direta em LaravelSó temos que criar o método no modelo e através dele podemos acessar as consultas.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo