Funcionalidad para votar (y quitar voto)

Las relaciones many to many, “muchos a muchos” o como se llaman en Laravel belongs to many (es decir: pertenecen a muchos) se utilizan en casos donde un registro de una tabla A puede tener y pertenecer a muchos registros de una tabla B.

Esto se hace a través de una tercera tabla (C) que se conoce como pivot table o tabla pivote. Como vimos en las lecciones sobre migraciones y seeders, aquí tenemos un ejemplo:

user_votes

Claro, en este caso no diríamos que un ticket tiene muchos usuarios, ni que un usuario tiene muchos tickets, a nivel de base de datos se expresa de esa forma, pero a nivel de la lógica de nuestra aplicación nosotros vamos a decir que un ticket puede ser votado por muchos usuarios, y un usuario puede votar por muchos tickets.

Es importantísimo que entiendas que es un pivot table, y cómo se establece una relación muchos a muchos en la base de datos.

Pero como podrás imaginar, a la hora de desarrollar nuestras aplicaciones, Laravel incluye una serie de métodos que permiten trabajar con este tipo de relaciones de una manera muy sencilla.

En el siguiente video vamos a desarrollar la funcionalidad para votar o quitar votos de un ticket en particular:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Encapsulación y programacion orientada a objetos con PHP

php-poo-encapsulacion

Encapsulación

Se refiere a la capacidad de agrupar y condensar distintos elementos en un entorno con límites bien definidos. ¿Cómo lo relaciono a la POO? De manera automática, primero generalizamos —abstracción— y luego establecemos los límites —encapsulación. Sí, la encapsulación está ligada a la abstracción. Ver post

Funcionalidad para crear solicitudes

En esta lección vamos a variar un poco la temática del curso, dado que no nos concentraremos en hablar de uno o dos temas, sino en completar una funcionalidad: en este caso, la de crear solicitudes o tickets.

Para ello vamos

a ver un repaso al componente de validación de Laravel, a la creación de formularios con Laravel Collective, y aprenderemos un truco o dos del ORM Eloquent.

Lecciones recomendadas:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Aprende a crear un Grid System con Sass

aprende-a-crear-un-grid-system

A lo largo de esta serie, hemos tratado de explicar la mayoría de características de Sass. Con lo que tenemos, es posible comenzar a elaborar librerías o componentes de alta calidad, siguiendo buenas prácticas y haciendo uso de todo lo aprendido.

Hoy, vamos a realizar un artículo mucho más práctico, crearemos un Grid system. Es fundamental estar al día con la serie Aprende Sass, los invito a revisarla para refrescar conceptos.

Ver post

Rutas de tipo POST y Formularios

En esta lección, vamos a definir las rutas que nos quedaron pendientes, algunas de ellas van a ser de tipo POST y DELETE y vamos a probarlas con formularios dinámicos creados con el componente de Laravel Collective, como vimos en el curso básico.

Material relacionado: 

Regístrate para ver ésta y cientos de lecciones exclusivas.

Como generar CRUD en Laravel 5 con Laravel API Generator

laravel-crud-builder

La mayoría de nuestros proyectos utilizan modelos, vistas, controladores, entre otros archivos comunes. Qué mejor forma de ahorrar tiempo si los pudiéramos generar, pues sí, en este post quiero mostrar una forma distinta de crear todos los archivos necesarios para un simple CRUD  (Create, Read, Update y Delete), en menos de lo que canta un gallo utilizando el paquete laravel-api-generator.

Ver post

Crear un grupo de rutas y protegerlas con un Middleware

En esta lección crearemos las rutas que permitirán a nuestros usuarios interactuar con la aplicación: es decir, crear contenido (tickets, comentarios, votar, etc.), aprovechando la ocasión daremos un repaso a la creación de rutas, controladores y acciones con Laravel, sólo que ésta vez crearemos rutas de tipo POST, DELETE y además las protegeremos con Middleware, finalmente, para probar las rutas de tipo POST usaremos el componente de Laravel Collective para imprimir formularios.

En esta lección vamos a comenzar a crear una nueva serie de rutas que permitirán al usuario interactuar con nuestra web, por ende éstas requerirán que el usuario esté conectado, así que vamos a protegerlas utilizando el Middleware «auth» y Route::group

Material relacionado:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Login y Registro

Por supuesto nuestro «cliente» no va a entender que la aplicación es dinámica a menos que él mismo pueda registrarse y comenzar a crear solicitudes y comentarios.

Por ello en esta lección vamos a preparar el formulario y funcionalidad de login y registro.

Nos va a servir como un repaso de la siguiente lección del curso básico: Usando la autenticación que viene integrada con Laravel 5

Además, en esta lección practicaremos nuestra capacidad para leer, interpretar y solucionar errores.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Uso del componente de traducciones

En el curso básico de Laravel, vimos una introducción al componente de internacionalización de Laravel, pueden hacer esta lección antes de continuar, si aún no la han visto:

Crear una página web o aplicación en español con Laravel (i18n)

Hoy veremos por un lado un repaso, por otro lado les enseñaré cómo podemos sacarle ventaja al componente de traducciones aún cuando nuestra página o aplicación vaya a ser en un sólo idioma. Por último aprenderás a usar un nuevo método llamado Lang::choice, que permite implementar mensajes diferentes dependiendo de la cantidad de items. Lang::choice lo usaremos para los mensajes de tipo:

Hay 5 solicitudes populares

Regístrate para ver ésta y cientos de lecciones exclusivas.

El valor del éxito y el fracaso

Hace unos años, me dediqué a enseñar ajedrez de competencia a un niño muy talentoso. El principal obstáculo que encontré como profesor fue que, siendo él un niño, naturalmente se dejaba llevar mucho por sus emociones: si comenzaba a tomar ventaja en una partida, se emocionaba demasiado y la emoción lo llevaba a cometer errores, si por el contrario, regalaba una pieza o iba en desventaja, se deprimía y cometía aún más errores.

Ver post

Suscríbete a nuestro boletín

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

Suscríbete a nuestro boletín

Recibe consejos útiles, promos y múltiples recursos directamente en tu correo.

Tu nombre y correo serán enviados directamente a MailChimp. No compartiremos tus datos con otras empresas.