Facebook Twitter Gplus LinkedIn E-mail RSS
Home Laravel Como criar CRUD no Laravel 5.3
formats

Como criar CRUD no Laravel 5.3

Publicado em 29/09/2016 por em Laravel

laravel-crud

Dando prosseguimento ao primeiro tutorial de como instalar o Laravel 5.3 com composer, vamos criar o CRUD. Caso você não tenha lido o primeiro tutorial, é de extrema importância você ler para prosseguir.

Vamos criar uma tabela em nosso banco de dados, chamado produtos.

1

Execute o comando: php artisan make:model Produtos -m

2

Automaticamente vai ser gerado o arquivo de migrate e também o arquivo de model.

Vamos editar o arquivo que foi gerado dentro da pasta migrations:

3

Adicione os campos que nós queremos que a tabela tenha:

4

Execute o comando php artisan migrate:

5

Volte até seu banco de dados, e perceba que o próprio laravel criou as colunas que adicionamos no arquivo que o migrate criou:

6

Controller no Laravel 5.3

Criar controller executando o comando: php artisan make:controller ProdutosController –resource

7

8

Agora vamos escrever as funções do controller de acordo com os códigos abaixo (você pode encontrar esses códigos no meu GitHub):

9

10

11

Definir rota Laravel 5.3

Para definirmos a rota do nosso controller, temos que editar o arquivo routes/web.php, e adicionar essa nossa nova rota: 

12

Trabalhar com views Laravel 5.3

Dentro da pasta reources/views, crie um pasta chamada produtos, e dentro dela vamos criar 4 arquivos: create.blade.php, details.blade.php, edit.blade.php, index.blade.php

13

create.blade.php

  1. <h1>Adicionar novo produto</h1>
  2. <form class="" action="/produtos" method="POST">
  3.     <input type="text" name="nome" value="" placeholder="Nome">
  4.     {{ ($errors->has('nome')) ? $errors->first('nome') : '' }}<br>
  5.     <textarea name="descricao" rows="8" cols="40" placeholder="Descricao"></textarea>
  6.     {{ ($errors->has('descricao')) ? $errors->first('descricao') : '' }}<br>
  7.     <input type="hidden" name="_token" value="{{ csrf_token() }}">
  8.     <input type="submit" name="name" value="Salvar">
  9. </form>

details.blade.php

  1. <h1>Página de detalhe</h1>
  2. <h2>{{ $detailpage->nome }}</h2>
  3. <p>
  4.     {{ $detailpage->descricao }}
  5. </p>
  6. <a href="/produtos">Voltar</a>

edit.blade.php

  1. <h1>Editar produto</h1>
  2. <form action="/produtos/{{ $detailpage->id }}" method="POST">
  3.     <input type="text" name="nome" value="{{ $detailpage->nome }}" placeholder="Nome">
  4.     {{ ($errors->has('nome')) ? $errors->first('nome') : '' }}<br>
  5.     <textarea name="descricao" rows="8" cols="40" placeholder="Descricao">{{ $detailpage->descricao }}</textarea>
  6.     {{ ($errors->has('descricao')) ? $errors->first('descricao') : '' }}<br>
  7.     <input type="hidden" name="_method" value="put">
  8.     <input type="hidden" name="_token" value="{{ csrf_token() }}">
  9.     <input type="submit" name="name" value="Salvar">
  10. </form>

 – index.blade.php

  1. {{ Session::get('message') }}
  2. <h1>Produtos</h1>
  3.  
  4.     @foreach($todosprodutos as $produto)
  5.         <h2><a href="/produtos/{{ $produto->id }}">{{ $produto->nome }}</a></h2>
  6.         <p>{{ $produto -> descricao }}</p>
  7.         <a href="/produtos/{{ $produto->id }}/edit">Editar</a>
  8.         <form action="/produtos/{{ $produto->id }}" method="POST">
  9.             <input type="hidden" name="_method" value="delete">
  10.             <input type="hidden" name="_token" value="{{ csrf_token() }}">
  11.             <input type="submit" name="name" value="Apagar">
  12.         </form>
  13.         <hr>
  14.     @endforeach

 Cofigurar página de erro 404 no laravel

18

404.blade.php

  1. <!DOCTYPE html>
  2.     <head>
  3.         <meta charset="utf-8">
  4.         <title>Erro 404 - Não encontrado</title>
  5.     </head>
  6.     <body>
  7.         <p>A página não foi encontrada!</p>
  8.     </body>
  9. </html>

Adicione alguns produtos em nosso banco de dados, para realizarmos o teste:

20

Para visualizar a listagem dos produtos visite: http://localhost:8000/produtos

21

Para criar um produto acesse: http://localhost:8000/produtos/create

22

Fontes:

 

Se você curtir o post, compartilha ou curte ai no face, se você teve dificuldade ou conseguiu usar, deixe seu comentário. Seu feeedback é de extrema importância.

 
 Compartilahr no Facebook Compartilhar no Twitter Comaprtilhar no Reddit Compartilhar no LinkedIn
4 Comments  comments 

4 Respostas

  1. Uma beleza.
    Simples e funcional.
    Uma próxima parte seria adicionar CSS com bootstrap, por exemplo.

  2. Bacana o tutorial. Sou iniciante no framework Laravel.
    Desde que comecei a pesquisar sobre o tema ele está na versão 5.4
    Vou testar nessa versão como o CRUD se comporta.

  3. Djavan Souto Loureiro

    Bom tutorial, só faltou explicar diversas coisas

  4. Alexandre Barbosa

    Muito bacana! Parabéns! bem simples e funcionou direitinho!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

© Adonai Diófanes | Wordpress | Drupal | Rio de Janeiro