Tutorial de Laravel

9. Implementa los métodos CRUD

9.2 Implementa R (Read)

Vamos a implementar el método de lectura para mostrar los productos guardados en la base de datos.

Para ello, abre app/Http/Controllers/ProductoController.php y actualízalo:

public function index()
{
$productos = Producto::all();

return view('productos.index', compact('productos'));
}

En negrita está el código añadido. A continuación, hay que crear la plantilla para index. Para ello, crea el fichero resources/views/productos/index.blade.php:

@extends('base')

@section('main')
<div class='row'>
<div class='col-sm-12'>
  <h1 class='display-3'>Productos</h1>
  <table class='table table-striped'>
    <thead>
      <tr>
        <td>ID</td>
        <td>Título</td>
        <td>Descripción</td>
        <td>Precio</td>
        <td>Editar</td>
        <td>Borrar</td>
      </tr>
    </thead>
    <tbody>
      @foreach($productos as $producto)
      <tr>
        <td>{{$producto->id}}</td>
        <td>{{$producto->título}}</td>
        <td>{{$producto->descripción}}</td>
        <td>{{$producto->precio}}</td>
        <td><a href="{{ route('productos.edit', $producto->id)}}" class='btn btn-primary'>Editar</a></td>
        <td>
          <form action="{{ route('productos.destroy', $producto->id)}}" method='post'>
            @csrf
            @method('DELETE')
            <button class='btn btn-danger' type='submit'>Borrar</button>
          </form>
        </td>
      </tr>
      @endforeach
    </tbody>
  </table>
<div>
</div>
@endsection

Vamos a comprobar que funciona. Iniciamos el servidor de desarrollo de Laravel: php artisan serve. Abrimos el navegador y entramos en http://localhost:8000/productos.

Volver.

Curso creado por Manuel Ignacio López Quintero bajo esta licencia.