En esta lección vamos a comenzar el desarrollo del módulo CRUD de usuarios reemplazando el listado estático de usuarios con los registros que se encuentran en la base de datos. Para ello utilizaremos el constructor de consultas de Laravel y el ORM Eloquent.

Repositorio

Ver el código de esta lección en GitHub

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Notas

Obtener registros desde la base de datos

Reemplazamos el listado estático con un listado dinámico que vamos a cargar desde la base de datos. Utilizando get() obtenemos todos los registros que se encuentran en la tabla pasada como argumento al método table:

$users = DB::table('users')->get();

Necesitamos importar el facade DB al principio del archivo:

use Illuminate\Support\Facades\DB;

La variable $user dentro del ciclo @forelse ya no contiene una cadena de texto sino un objeto. No podemos imprimir estos objetos como si se trataran de una cadena, pero sí podemos imprimir las propiedades de cada objeto:

@forelse($users as $user)
    <li>{{ $user->name }}</li>
@empty
    <li>No hay usuarios registrados.</li>
@endforelse

Obtener registros con Eloquent

Podemos utilizar Eloquent para obtener los datos que se encuentran en la base de datos. Utilizando all() podemos obtener todos los registros que se encuentran en la tabla:

$users = User::all();

Debemos importar el modelo al principio del archivo:

use App\User;

Al imprimir directamente $user dentro de la directiva @forelse sin llamar a ninguna propiedad, se imprime una representación en JSON de cada usuario. Esto es debido a que al utilizar Eloquent obtenemos una colección de objetos donde cada objeto representa una instancia de la clase User (un modelo de Eloquent), los cuales incluyen esta funcionalidad. Puedes aprender más sobre el uso de métodos mágicos en PHP con la lección Uso de los métodos mágicos __toString y __invoke en PHP de nuestro Curso de programación orientada a objetos con PHP.

Únete a nuestra comunidad en Discord y comparte con los usuarios y autores de Styde, 100% gratis.

Únete hoy

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Módulo de usuarios con Laravel Lección siguiente Configuración y uso de base de datos en el entorno de pruebas automatizadas con Laravel y PHPUnit