Curso App para Pizzería con delivery
Implementación del CRUD de Categorías
Modelo, Migración, controlador y vistas para gestionar la tabla categorías donde asignaremos dos: Pizzas y Bebidas.
Modelo, Migración, controlador y vistas para gestionar la tabla categorías donde asignaremos dos: Pizzas y Bebidas.
Route::group(['prefix' => 'admin', 'middleware' => ['auth','role:admin']], function() {
// rutas para el administrador
Route::resource('categoria', App\Http\Controllers\Admin\CategoriaController::class,["as"=>"admin"]);
});
class Categoria extends Model
{
use HasFactory;
public $timestamps = false;
protected $fillable = [
'slug',
'nombre'
];
}
Schema::create('categorias', function (Blueprint $table) {
$table->id();
$table->string('slug',15)->unique();
$table->string('nombre',15);
});
<?php
namespace App\Http\Controllers\Admin;
use App\Models\Categoria;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class CategoriaController extends Controller
{
public function index(){
$categorias = Categoria::all();
return view("admin.categoria.index",compact("categorias"));
}
public function create(){
return view('admin.categoria.create');
}
public function store(Request $request){
$categoria = new Categoria($request->all());
$categoria->save();
return redirect('admin/categoria');
}
public function edit($id){
$categoria = Categoria::find($id);
return view('admin.categoria.edit',compact("categoria"));
}
public function update(Request $request, $id){
$categoria =Categoria::findOrFail($id);
$categoria->fill($request->all());
$categoria->save();
return redirect('admin/categoria');
}
public function destroy($id){
$categoria=Categoria::findOrFail($id);
$categoria->delete();
return redirect('admin/categoria');
}
}
@extends('layouts.admin')
@section('content')
<div class="container">
<div class="row justify-content-center">
@include("admin.menu")
<div class="col-sm-8">
<h1 class="mt-3 mb-3 fs-4">SECCIÓN CATÁLOGO</h1>
<a href="{{route("admin.categoria.create")}}" class="btn btn-success">CREAR CATEGORÍA</a>
@if ($categorias->count())
<table class="table table-bordered mt-3">
<tr>
<th>ID</th>
<th>NOMBRE</th>
<th>ACCIÓN</th>
</tr>
@forelse ($categorias as $c)
<tr>
<td>{{$c->id}}</td>
<td>{{$c->nombre}}</td>
<td>
<a href="{{route("admin.categoria.show",$c->id)}}" class="btn btn-success">VER PRODUCTOS</a>
<a href="{{route("admin.categoria.edit",$c->id)}}" class="btn btn-success">EDITAR CATEGORIA</a>
</td>
</tr>
@empty
<tr><td></td></tr>
@endforelse
</table>
@endif
</div>
</div>
</div>
@endsection
@extends('layouts.admin')
@section('content')
<div class="container">
<div class="row justify-content-center">
@include("admin.menu")
<div class="col-sm-8">
{!! Form::open(['route'=>'admin.categoria.store','method'=>'POST']) !!}
<div class="form-group row">
<div class="col-sm-6">
{!! Form::label('slug','Slug') !!}
{!! Form::text('slug',null,['class'=>'form-control','required']) !!}
</div>
<div class="col-sm-6">
{!! Form::label('nombre','Nombre') !!}
{!! Form::text('nombre',null,['class'=>'form-control','required']) !!}
</div>
</div>
<div class="form-group mt-3">
<a href="javascript: history.go(-1)" class="btn btn-outline-primary">Regresar</a>
{{ Form::submit('CREAR CATEGORIA',['class'=>'btn btn-success']) }}
</div>
{!! Form::close() !!}
</div>
</div>
</div>
@endsection
@extends('layouts.admin')
@section('content')
<div class="container">
<div class="row justify-content-center">
@include("admin.menu")
<div class="col-sm-8">
{!! Form::open(['route'=>['admin.categoria.update',$categoria],'method'=>'PUT']) !!}
<div class="form-group row">
<div class="col-sm-6">
{!! Form::label('slug','Slug') !!}
{!! Form::text('slug',$categoria->slug,['class'=>'form-control','required']) !!}
</div>
<div class="col-sm-6">
{!! Form::label('nombre','Nombre') !!}
{!! Form::text('nombre',$categoria->nombre,['class'=>'form-control','required']) !!}
</div>
</div>
<div class="form-group mt-3">
<a href="javascript: history.go(-1)" class="btn btn-outline-primary">Regresar</a>
{{ Form::submit('GUARDAR CATEGORIA',['class'=>'btn btn-success']) }}
</div>
{!! Form::close() !!}
</div>
</div>
</div>
@endsection
1147 visitas
« Capítulo 3 – Auth y Roles de Usuario: Admin y Cliente
Capítulo 5 – Implementación CRUD Productos »
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024