Principais conclusões:
- As operações CRUD (Create, Read, Update, Delete) são fundamentais para a gestão de dados em aplicações web, e o Laravel simplifica estas operações através do seu Eloquent ORM.
- A criação de um projeto Laravel para CRUD envolve a configuração da base de dados, a criação de migrações e modelos, a definição de rotas, a construção de controladores e a conceção de vistas.
- A otimização das operações CRUD no Laravel pode ser conseguida através de técnicas como o caching, o eager loading, a indexação da base de dados, as transacções e a utilização de filas para tarefas em segundo plano.
Estás a ter dificuldades com a gestão de dados na tua aplicação web? Estás à procura de uma forma eficiente de realizar operações CRUD em Laravel? Não estás sozinho. Muitos desenvolvedores enfrentam desafios na implementação eficaz dessas operações fundamentais.
As operações CRUD formam a espinha dorsal da maioria das aplicações Web, permitindo-nos interagir com os nossos dados de forma significativa. No entanto, sem a abordagem certa, isso pode se tornar uma tarefa complexa e assustadora, levando a um código ineficiente e a possíveis problemas com os dados.
É aqui que este artigo se torna útil. Vou mostrar-te como executar operações CRUD no Laravel em passos simples. Por isso, quer sejas um principiante ou um programador experiente, este artigo tem algo para ti. Vamos começar!
O que são operações CRUD?
Estas operações são universais e não estão ligadas a uma linguagem de programação ou a um sistema de base de dados específico. São essenciais para qualquer sistema que necessite de persistência de dados, quer se trate de uma base de dados relacional como o MySQL ou de uma base de dados como o MariaDB.
Como funciona o CRUD?
As operações CRUD interagem com uma base de dados através de um sistema de gestão de bases de dados (DBMS), que fornece uma interface para estas tarefas. Quando ocorre uma ação do utilizador na aplicação, esta é convertida num comando compatível com o SGBD.
Nas bases de dados relacionais, estes comandos são normalmente instruções SQL. “Criar” torna-se uma instrução “INSERT”, “Ler” uma “SELECT”, “Atualizar” uma “UPDATE” e “Apagar” uma “DELETE”. O SGBD executa-os e devolve os resultados à aplicação, apresentando os dados ao utilizador.
Porquê utilizar as operações Crud?
As operações CRUD são essenciais para a gestão de dados em aplicações, fornecendo uma abordagem estruturada que mantém os dados organizados e consistentes. Sem elas, a gestão de dados seria desordenada e propensa a erros.
Estas operações também simplificam o desenvolvimento e a manutenção das aplicações. Normaliza a forma como as aplicações tratam os dados, produzindo código mais fácil de manter. Define o que uma aplicação pode fazer com os seus dados, tornando a sua funcionalidade mais clara.
Operações CRUD em Laravel
O Laravel oferece um forte suporte para operações CRUD através do seu ORM Eloquent. O Eloquent facilita o trabalho com bases de dados através de uma sintaxe orientada para objectos para operações CRUD, permitindo-te interagir com a tua base de dados como se estivesses a trabalhar com objectos PHP.
Por exemplo, para adicionar um novo registro a um banco de dados, cria uma nova instância de modelo (uma classe PHP que representa uma tabela de banco de dados), define suas propriedades e usa o método salvar. A leitura de dados envolve métodos como find ou where. A atualização e a eliminação de registos também são simples.
Requisitos de sistema para CRUD
Para executar operações CRUD em Laravel, precisas dos seguintes requisitos de sistema:
- PHP: Versão 8.0 ou superior.
- Laravel: Versão 10.x.
- Base de dados: Suportada pelo Laravel, com detalhes de ligação no ficheiro .env.
- Servidor Web: Como o Apache ou o Nginx.
Estás pronto para experimentar a tua primeira operação CRUD em Laravel?
Desde o PHP 8.0 ou superior, instalação do Laravel e suporte de base de dados a servidores Web como o Apache ou o Nginx, a Cloudways tem tudo o que precisas.
Criar um projeto Laravel
Neste artigo, usarei o Cloudways para criar um projeto Laravel para operações CRUD. Isso permite que eu me concentre no desenvolvimento enquanto o Cloudways cuida do gerenciamento do servidor.
Passo 1: Cria a aplicação
Clica em Ver todos os servidores depois de fazeres login na tua conta Cloudways e escolhe o teu servidor de destino.

Passo 2: Configura a base de dados
O Laravel facilita a configuração da ligação à base de dados.
Abre o ficheiro .env e fornece as informações necessárias para o sistema de base de dados escolhido, como o anfitrião, o nome da base de dados, o nome de utilizador e a palavra-passe.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nome_da_sua_base_de_dados DB_USERNAME=o teu nome de utilizador da base de dados DB_PASSWORD=sua_senha_de_base_de_dados
Guarda o ficheiro depois de fazer estas alterações.
Passo 3: Cria a migração
No Laravel, as migrações são utilizadas para definir a estrutura das tabelas da tua base de dados. Para criar uma migração para a tua operação CRUD, executa o seguinte comando:
php artisan make:migration create_table_name
Nota: Substitui table_name por um nome significativo para a tua tabela da base de dados.
Edit the generated migration file in the database/migrations directory to define the columns for your table. Por exemplo:
função pública up()
{
Schema::create('items', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('description');
$table->timestamps();
});
}
Executa a migração para criar a tabela na tua base de dados:
php artisan migrate
Passo 4: Cria o modelo
Cria um modelo para a tabela que acabaste de criar, executando o seguinte comando:
php artisan make:model Item
Este comando gera um ficheiro de modelo no diretório da aplicação. Podes usar este modelo para interagir com a tabela da base de dados.
Passo 5: Cria a rota
O Laravel utiliza rotas para mapear URLs para acções específicas do controlador. Define suas rotas no arquivo routes/web.php. Para uma operação CRUD, normalmente precisas de rotas para criar, ler, atualizar e eliminar registos.
Route::resource('items', 'ItemController');
Esta única linha de código irá gerar todas as rotas necessárias para as operações CRUD.
Passo 6: Cria o controlador
Cria um controlador para as tuas operações CRUD executando o seguinte comando:
php artisan make:controller ItemController
No teu ficheiro ItemController.php, podes definir os métodos para tratar as operações CRUD:
função pública index()
{
// Ler - Mostra uma lista de itens
}
função pública create()
{
// Criar - Mostra o formulário para criar um novo item
}
função pública store(Request $request)
{
// Criar - Guarda um novo item na base de dados
}
função pública show($id)
{
// Ler - Mostra um único item
}
função pública edit($id)
{
// Atualizar - Mostra o formulário para editar um item
}
função pública update(Request $request, $id)
{
// Atualizar - Guarda o item editado na base de dados
}
função pública destroy($id)
{
// Apagar - Remove um item da base de dados
}
Passo 7: Cria a vista
Precisas de vistas para interagir com o utilizador.
O Laravel facilita a criação de vistas utilizando Blade Templates. Podes criar vistas para listar, criar, editar e exibir itens.
Passo 8: Implementa as operações CRUD
Nos métodos do teu controlador, implementa as operações CRUD utilizando o Eloquent ORM e as vistas. Apresentamos-te uma visão geral de alto nível do que cada método deve fazer:
- Índice: Recupera uma lista de itens e apresenta-os.
- Cria: Mostra um formulário para criar um novo item.
- Guarda: Guarda um novo item na base de dados.
- Mostra: Apresenta um único item.
- Editar: Mostra um formulário para editar um item existente.
- Atualizar: actualiza o item na base de dados.
- Destrói: Elimina o item da base de dados.
Testa as tuas operações CRUD
Antes de implantares a tua aplicação, testa minuciosamente as tuas operações CRUD para garantir que funcionam como esperado. Certifica-te de que tratas de qualquer validação, tratamento de erros e casos extremos.
Prepara a tua aplicação para a implementação da seguinte forma.
1. Torna a implantação simples e direta, declarando a pasta pública. Adiciona um ficheiro .htaccess à raiz da pasta da aplicação com o seguinte código:
RewriteEngine On RewriteRule ^(.*)$ public/$1 [L]
2. Força a tua aplicação a utilizar HTTPS, adicionando o seguinte código acima das tuas rotas no ficheiro routes/web.php:
utiliza Iluminate\Support\Facades\URL;
URL::forceScheme('https');
3. Coloca o teu código num repositório do GitHub.
Implantar código usando o GitHub
Passo 1: Acede à Gestão de Aplicações
Faz login na plataforma Cloudways, clica em Aplicativos na barra de menu superior e seleciona o aplicativo de destino na lista.

Passo 2: Gera e transfere as chaves SSH
Usaremos essas chaves para permitir o acesso do servidor Cloudways ao repositório Git.
- Clica emImplementação via Git na secção Gestão de aplicações.
- Em seguida, clica no botão Generate SSH Keys (Gerar chaves SSH ) para gerar as chaves.

Passo 3: Carrega a chave pública SSH para o teu repositório Git
Vamos utilizar uma conta GitHub para exemplificar os dois passos seguintes. Se estiveres a utilizar outro serviço Git, tens de encontrar a forma equivalente de os completar.
Para o GitHub
- Inicia sessão no GitHub e seleciona o repositório pretendido. Uma vez feito isso, vai para Configurações.
- Aqui, encontrarás a opção Deploy Keys.
- Clica no botão Add Deploy Key (Adicionar chave de implementação ) para adicionar a chave SSH que descarregámos no passo 3. Basta abrir o arquivo que baixamos (git_ssh_key.txt), copiar o conteúdo e colá-lo no campo Key (Chave ) no GitHub. Também podes dar um nome a esta chave no campo do título (por exemplo, Demo).
- Clica no botão Add Key (Adicionar chave ) para guardar a chave SSH (para obteres mais detalhes, visita os documentos do GitHub).

Passo 4: Copia o endereço SSH do repositório
Copia o endereço do repositório, como mostra a imagem abaixo. Certifica-te de que copias o endereço SSH, uma vez que outros formatos (como HTTPS) não são suportados.

Passo 5: Implementar código do teu repositório
- De volta à plataforma Cloudways, cole o endereço SSH que você obteve na Etapa 4 no campo Endereço remoto do Git e clique em Autenticar. Isso garantirá que não haja bloqueadores na comunicação entre o Cloudways e o serviço Git (que é o Github em nosso exemplo).
- Em seguida, escolhe o ramo do teu repositório (o mestre será selecionado por predefinição) a partir do qual pretendes efetuar a implementação.
- Em seguida, escreve o caminho de implementação (ou seja, a pasta no teu servidor onde o código será implementado). Certifica-te de que termina com um /. Se deixares este campo vazio, o código será implementado em public_html/.
- Por fim, clica no botão Iniciar implantação para implantar seu código no caminho selecionado.

Passo 7: Configura a base de dados
Open the .env file in your project root directory and configure your MariaDB database connection by updating the following lines with your database information:
DB_CONNECTION=mysql DB_HOST=Nome de anfitrião externo DB_PORT=Porta externa DB_DATABASE=Nome da base de dados DB_USERNAME=Nome de utilizador DB_PASSWORD=Senha
Passo 7: Testa as tuas operações CRUD
Now create the database tables, connect the database to your local app by updating your .env file with the same credentials you entered in your app and run the following command:
php artisan migrate
Este comando executa todos os ficheiros de migração, configurando as tabelas definidas na sua aplicação. Agora podes testar a tua aplicação utilizando o URL fornecido após a implementação inicial.
Dicas de otimização CRUD
A otimização do desempenho de uma aplicação Laravel CRUD é crucial para garantir que a tua aplicação Web funciona sem problemas e de forma eficiente.
Aqui estão algumas dicas para te ajudar a melhorar o desempenho da tua aplicação Laravel CRUD:
- Caching: Utiliza o sistema de caching incorporado no Laravel para armazenar dados frequentemente acedidos. Podes usar ferramentas como o Redis ou o Memcached para o armazenamento em cache. Armazena em cache resultados de consultas, visualizações e configurações para reduzir o acesso ao banco de dados e ao sistema de arquivos.
- Carregamento ávido: Ao recuperar dados com relações (por exemplo, carregamento ansioso), utiliza o método para carregar antecipadamente os dados relacionados, reduzindo o número de consultas à base de dados.
$posts= Post::with('comments')->get(); - Indexação de bases de dados: Indexar corretamente as tabelas da base de dados para acelerar a recuperação de dados. Utiliza a fachada Schema para adicionar índices aos teus ficheiros de migração.
Schema::table('posts', function ($table) { $table->index('nome_da_coluna'); }); - Transações de banco de dados: Envolve as operações da base de dados em transacções para garantir a consistência dos dados e melhorar o desempenho, minimizando as operações de escrita na base de dados.
DB::transaction(function () { // As tuas operações CRUD aqui}
);
- Otimização da base de dados: Optimiza as tuas consultas à base de dados utilizando o Query Builder de forma eficiente. Evita a utilização da instrução select * e utiliza a paginação para grandes conjuntos de dados.
- Usa filas de espera: Transfere tarefas demoradas para filas em segundo plano, como o envio de e-mails ou o processamento de arquivos carregados. O sistema de filas incorporado no Laravel pode ajudar-te com isto.
Capacita seus aplicativos Laravel com a Cloudways: Onde a velocidade encontra a simplicidade
Experimenta o poder, a velocidade e a flexibilidade da Cloudways para seus aplicativos Laravel. Eleve seu desenvolvimento web com soluções otimizadas de hospedagem Laravel projetadas para eficiência e escalabilidade.
Resumo
As operações CRUD do Laravel são uma competência essencial para qualquer programador que pretenda criar aplicações Web robustas e escaláveis. Este guia passo a passo forneceu-te uma visão geral abrangente de:
- Como criar, ler, atualizar e eliminar dados na tua aplicação Laravel.
- Considerações de validação e segurança para garantir a integridade dos dados da tua aplicação e proteger contra potenciais ameaças
- Como trabalhar de forma eficiente com as operações CRUD do Laravel.
As operações CRUD são um passo significativo para se tornar um desenvolvedor Laravel proficiente. À medida que continuas a explorar e a expandir os teus conhecimentos, vais descobrir que o Laravel oferece um vasto ecossistema de funcionalidades e ferramentas que te podem ajudar a construir aplicações Web poderosas e dinâmicas.
Q. Como instalar um gerador CRUD para Laravel?
A. Podes instalar um gerador CRUD em Laravel utilizando um pacote como InfyOm Laravel Generator ou Laravel-CRUD. Executa o seguinte comando no teu terminal:
compõe o require infyomlabs/laravel-generator
Segue as instruções de configuração do pacote para gerar rapidamente o scaffolding CRUD.
Q. Como criar CRUD em Laravel?
A. Para criar CRUD em Laravel, usa os comandos do Artisan para gerar modelos, controladores e migrações:
php artisan make:model Post -m php artisan make:controller PostController --resource php artisan migrate
Define rotas em web.php, implementa a lógica CRUD em controladores e cria modelos Blade para a interação do utilizador.
Q. Como é que realizas operações CRUD em Laravel?
A. As operações CRUD em Laravel envolvem:
- Criar – Insere registos utilizando o Eloquent (
Model::create($data)). - Read – Recupera dados utilizando
Model::all()ouModel::find($id). - Atualizar – Modifica registos utilizando
$model->update($data). - Eliminar – Remove dados utilizando
$model->delete()ouModel::destroy($id).
Q. Como realizar uma operação de exclusão no Laravel?
A. Para eliminar um registo em Laravel, utiliza o seguinte método Eloquent no teu controlador:
função pública destroy($id) {
$post = Post::findOrFail($id);
$post->delete();
devolve redirect()->route('posts.index');
}
Também podes utilizar:
Post::destroy($id);
Para eliminação em massa, passa um conjunto de IDs.
Q. Como é que eliminas nas operações CRUD?
A. A eliminação no CRUD envolve a identificação do registo e a sua remoção da base de dados. No Laravel, usa o método delete() ou destroy() do Eloquent. As exclusões suaves também podem ser implementadas adicionando a caraterística SoftDeletes no modelo.
Q. Como podes personalizar o Laravel CRUD?
A. Podes personalizar o CRUD do Laravel modificando os métodos do controlador, concebendo vistas Blade personalizadas, implementando regras de validação e refinando as relações da base de dados para se adequarem às necessidades da tua aplicação.
Abdul Rehman
O Abdul é um profissional de marketing experiente em tecnologia, movido a café e criativo, que adora manter-se a par das últimas actualizações de software e gadgets tecnológicos. É também um escritor técnico competente que consegue explicar conceitos complexos de forma simples para um público alargado. Abdul gosta de partilhar os seus conhecimentos sobre a indústria da nuvem através de manuais de utilizador, documentação e publicações em blogues.