Listar registros en Laravel

Implementaremos el método index para extraer registros de la tabla noticias con elocuent y los mostraremos en la vista welcome

Modificando el controlador NoticiasController

Abrimos NoticiasController.php verificamos que podamos usar el modelo noticias :

use App\noticias

Luego en el método index realizamos los siguientes cambios, que debería quedar de la siguiente manera:

public function index()
    {
        // codigo para listar las noticias 
        $noticias=noticias::all();        
        return view("welcome",compact('noticias'));
    }

Explicando, en la variable $noticias almacenamos todos los registros de la tabla noticias a través del modelo noticias con la consulta all(), y la enviamos  a la vista compact('noticias'), básicamente lo convierte en un objeto json.

Modificando la vista welcome

@extends('layouts.app')
@section('content')
<div class="container">
    <div class="row">
        <!-- listado de las noticias-->
        <div class="col-12">
        <h1>LISTADO</h1>                
        <a href="{{ route('noticias.create') }}" class="btn btn-primary">Nuevo</a>
        @if(!empty($noticias))
        	<table class="table">
        		<thead>
        			<th>ID</th>
        			<th>NOMBRE</th>
        			<th>ACCION</th>
        		</thead>
        		<tbody>
        	@foreach($noticias as $r)
        		<tr>
        			<td>{{$r->id}}</td>
        			<td>{{$r->titulo}}</td>
        			<td>
        				<a class="btn btn-primary" href="{{ route('noticias.edit',$r->id) }}">Editar</a>
        				{!! Form::open(['method' => 'DELETE','route' => ['noticias.destroy', $r->id],'style'=>'display:inline']) !!}
                        {!! Form::submit('Eliminar', ['class' => 'btn btn-primary']) !!}
                        {!! Form::close() !!}        				
        			</td>
        		</tr>
        	@endforeach
        		</tbody>
        	</table>        	
        @else
        <div class="col-12">
         	<p>No hay noticias</p>
         </div>
        @endif
        </div>	
    </div>
</div>
@endsection

Podemos notar que estamos usando dos estructuras:

  1. if.-  La cual realiza un condicionale preguntando si la variable $noticias esta vacia o llena, si esta vacia muestra un mensaje, caso contrario  visualizará los datos con el for.
  2. for.- recorre los elementos de la variable $noticias 

Ahora, podemos ver que hay tres botones, además de un listado de los registros de la tabla noticias

  • El primer botón o link hace referencia a crear un nuevo registro y est asociado al método create
  • El segundo a editar el registro elegido asociado al método edit
  • Y el tercero a eliminar el registro elegido y esta asociado al método destroy

Entonces podemos decir que tenemos un panel de control básico pero suficiente para nuestro proyecto de Noticias.

En la 9na parte veremos como instalar el componente Laravel Collective.

Cómo listar registros en Laravel

Visto: 41 | Publicado:2018-10-19 19:21:26


« Lección 7

Crear rutas en Laravel

Facebook Twitter Youtube Pinterest Wordpress Google Plus

:: Calle Paucarpata 130 Of. 212 2do Piso CC. AQPcompucentro ::
:: © Todos los derechos reservados APPTIVA WEB | Arequipa Perú 2010-2018 ::