[Tutorial] Criação de um CRUD no Admin Parte 3
Nessa terceira e última parte do tutorial, irei mostrar como editar e excluir um registro.
Olá Pessoal!
Nesse tutorial, irei mostrar para vocês como editar e como excluir uma loja que cadastramos.
Criando a Edição de uma Loja
Primeiro vou ensinar a como fazer a edição de uma loja. Primeiro iremos criar um arquivo chamado edit.blade.php em src/Resources/views/admin e inserir o seguinte conteúdo:
@extends('admin::layouts.content')
@section('page_title')
Editar Loja
@stop
@section('content')
<div class="content">
<form method="POST" action="{{ route('minhaslojas.admin.update', $loja->id) }}" @submit.prevent="onSubmit">
<div class="page-header">
<div class="page-title">
<h1>
Editar Loja
</h1>
</div>
<div class="page-action">
<button type="submit" class="btn btn-lg btn-primary">Save</button>
</div>
</div>
<div class="page-content">
<div class="form-container">
@csrf()
<div class="control-group" :class="[errors.has('nome') ? 'has-error' : '']">
<label for="nome" class="required">Nome</label>
<input type="text" class="control" name="nome" v-validate="'required'" value="{{ $loja->nome }}">
</div>
<div class="control-group" :class="[errors.has('endereco') ? 'has-error' : '']">
<label for="last_name" class="required">Endereço</label>
<input type="text" class="control" name="endereco" v-validate="'required'" value="{{ $loja->endereco }}">
</div>
</div>
</div>
</form>
</div>
@stop
Agora, precisaremos adicionar dois métodos no nosso controller. Para isso abra o arquivo src/Http/Controllers/Admin/MinhasLojasController, e adicione o seguinte código:
public function edit($id)
{
$loja = Loja::find($id);
return view('minhaslojas::admin.edit', compact('loja'));
}
public function update(Request $request, $id)
{
$loja = Loja::find($id);
$loja->nome = $request->nome;
$loja->endereco = $request->endereco;
$loja->save();
return redirect(route('minhaslojas.admin.index'));
}
Com isso, o arquivo ficará dessa maneira:
<?php
namespace LuanCS\MinhasLojas\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use LuanCS\MinhasLojas\Models\Loja;
class MinhasLojasController extends Controller
{
public function index()
{
return view('minhaslojas::admin.index');
}
public function create()
{
return view('minhaslojas::admin.create');
}
public function store(Request $request)
{
$loja = new Loja();
$loja->nome = $request->nome;
$loja->endereco = $request->endereco;
$loja->save();
return redirect(route('minhaslojas.admin.index'));
}
public function edit($id)
{
$loja = Loja::find($id);
return view('minhaslojas::admin.edit', compact('loja'));
}
public function update(Request $request, $id)
{
$loja = Loja::find($id);
$loja->nome = $request->nome;
$loja->endereco = $request->endereco;
$loja->save();
return redirect(route('minhaslojas.admin.index'));
}
public function destroy($id)
{
}
}
Agora acesse o menu "Minhas Lojas", e clique no ícone de um lápis, para editar um registro. Com isso, a tela de edição irá aparecer, com os campos nome e endereço preenchidos, conforme demonstrado na imagem abaixo:
Agora altere os campos e clique em salvar, você voltará para a listagem e verá que os dados foram alterados com sucesso!!
Agora vamos para a exclusão de um Registro.
Excluindo uma Loja
Agora que já aprendemos, a criar, listar, editar, agora só falta excluir uma loja :)
Fazer isso é bem simples, abra o arquivo src/Http/Controllers/Admin/MinhasLojasController e adicione o seguinte código ao método destroy anteriormente criado:
$loja = Loja::find($id);
$loja->delete();
return redirect(route('minhaslojas.admin.index'));
Deixando o método da seguinte forma:
public function destroy($id)
{
$loja = Loja::find($id);
$loja->delete();
return redirect(route('minhaslojas.admin.index'));
}
No final o Controller vai estar assim:
<?php
namespace LuanCS\MinhasLojas\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use LuanCS\MinhasLojas\Models\Loja;
class MinhasLojasController extends Controller
{
public function index()
{
return view('minhaslojas::admin.index');
}
public function create()
{
return view('minhaslojas::admin.create');
}
public function store(Request $request)
{
$loja = new Loja();
$loja->nome = $request->nome;
$loja->endereco = $request->endereco;
$loja->save();
return redirect(route('minhaslojas.admin.index'));
}
public function edit($id)
{
$loja = Loja::find($id);
return view('minhaslojas::admin.edit', compact('loja'));
}
public function update(Request $request, $id)
{
$loja = Loja::find($id);
$loja->nome = $request->nome;
$loja->endereco = $request->endereco;
$loja->save();
return redirect(route('minhaslojas.admin.index'));
}
public function destroy($id)
{
$loja = Loja::find($id);
$loja->delete();
return redirect(route('minhaslojas.admin.index'));
}
}
Agora acesse o Menu "Minhas Lojas", e clique sobre o ícone de uma lixeira em um dos registros, ao fazer isso, o registro será excluído.
Com isso, encerro esse tutorial e com isso fechamos o CRUD :)
Espero que tenham gostado :D
Caso queiram baixar o módulo, acessem o repositório abaixo, na tag 3.0:
https://github.com/luancschmitz/modulo-bagisto-minhas-lojas/tree/3.0