Laravel 5.4 #14 : Query scopes y presenters

Hoy utilizaremos los scopes para mostrar los usuarios activos en nuestra web. Aunque actualmente puede registrarse cualquier persona, más adelante añadiremos un paquete de Laravel que permite gestionar los roles y así limitar, según el rol, quien puede publicar posts. Y también daremos formato a la fecha de publicación de los posts.

Scopes

Los scopes son funciones que añadimos al modelo que nos permiten reutilizar partes de consultas y así no tener que repetirlas muchas veces. Abrimos el modelo User.php y añadimos este código:

Y con esto, ya podremos retornar los usuarios activos fácilmente:

Y los mostramos en la vista:

 

Como puedes ver, aplicar los scopes es muy sencillo y con ellos podremos ahorrar bastante código si es una consulta que utilizaremos en varias ocasiones.

 

Presenters

Los presenters son funciones que manipulan los datos que hay en la base de datos antes de mostrarlos en las vistas. Le aplicamos la lógica que queramos (darle formato a la fecha, unir dos campos, etc.) y después se muestra en la vista.

Para crear un presenter, me he basado en este post.

Primero, tenemos que crear un directorio Presenters en app. Y después crear un fichero DatePresenter.php. Lo que va a hacer nuestro presenter es darle formato a la fecha de creación:

Añade estas líneas en el modelo Post.php :

Y añadimos a la vista esta línea:

 

Con esto, ya nos saldría la fecha formateada. Podemos aplicarlo a cualquier otro campo y poner la lógica que queramos.

-

– Presenters: https://murze.be/2016/09/simplifying-presenters-laravel/


Aloja tu proyecto en DigitalOcean: Obtén $200 de crédito gratis al registrarte a través de este enlace.

Si hay cualquier tipo de error en el post o te surge cualquier duda, no dudes en ponerlo en los comentarios o enviarme un correo desde la página de contacto.

? CONTACTAR

Deja una respuesta

  Acepto la política de privacidad