Laravel Rating, lógica de valoraciones para proyectos Laravel

arrow_back Blog

Laravel Rating es uno de esos paquetes que nos permite añadir toda la lógica necesaria para añadir un sistema de valoraciones a nuestros proyectos Laravel.

Lo mejor de Laravel Rating es que podemos decir qué modelos pueden valorar, pero no sólo eso, también podemos decir qué modelos pueden ser valorados. Por ejemplo, queremos que puedan valorar los usuarios (Modelo User), y queremos que los modelos que puedan ser valorados sean los Posts y Proyectos (Modelos Post y Project).

Instalar y configurar Laravel Rating

Aunque existen muchas dependencias para realizar esta tarea, yo me he decantado por una que es realmente sencilla de utilizar y, lo que más me gusta, es que únicamente se centra en esta tarea, lógica para sistemas de valoraciones en Laravel.

La lógica de Laravel Rating reside en una tabla con relaciones polimórficas que gestiona el modelo que valora y el modelo valorado, nada más.

Permitir que el modelo User realice valoraciones

Para permitir que los usuarios puedan realizar valoracionesk debemos ajustar el modelo User, ya que es el encargado de gestionar la autenticación en Laravel, por lo menos por defecto.

Implementando el contrato Rater y utilizando el Trait Rater tenemos suficiente para que nuestros usuarios puedan empezar a valorar, ahora nos falta qué valorar.

Modelo Curso para realizar valoraciones

El modelo que vamos a utilizar para añadir valoraciones va a ser un modelo Curso, es un caso típico, aquí en la plataforma se utiliza este sistema contra este modelo.

Para permitir que los cursos puedan ser valorados, debemos ajustar el modelo Course de la siguiente forma.

Fíjate que tanto el contrato como el Trait han cambiado, ahora son Rateable en lugar de Rater y CanBeRated en lugar de CanRate, es un matiz importante.

Migraciones, factorías y seeds

Vamos a crear la lógica necesaria para poder crear valoraciones con nuestro sistema de rating.

Realizar valoraciones con nuestros usuarios

Finalmente, para que los usuarios puedan realizar valoraciones, sólo debemos aplicar la siguiente lógica donde necesites.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2022 © Todos los derechos reservados.