Relacionar objetos con el ORM Eloquent

Una base de datos relacional, se llama así por una razón, ¿Cierto? Ésta es que nos permite relacionar unas tablas con otras. Esta relación se crea usando JOIN, por ejemplo, si quisieramos traer en una sola consulta tickets y el usuario autor de cada ticket, haríamos lo siguiente con SQL:

SELECT tickets.id, tickets.title, users.name FROM tickets JOIN users ON tickets.user_id = users.id;

Pero todo el tema de los ORM, es trabajar menos de forma relacional como lo hace SQL y más con programación orientada a objetos.

Es por esto que ORMs como Eloquent nos permiten establecer las relaciones no con JOIN sino con métodos como los siguientes: hasOne, belongsTo, hasMany, belongsToMany.

Así que éste será el objetivo de esta lección: aprender cómo establecer relaciones entre un objeto de Eloquent con otro.

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

Captcha en tus formularios con Laravel 5

laravel-5-captcha

Todos en algún momento de nuestras vidas al navegar por Internet, nos hemos topado con formularios que adicionalmente a los datos que nos solicita nos pide ingresar los caracteres que aparecen en una imagen llamada Captcha, que es un sistema de reconocimiento que sirve para asegurarse que sea una persona la que rellena datos en un formulario y no una máquina de manera automática, pide que usuario escriba los caracteres que aparecen en una imagen. Ver post

Páginas dinámicas de lista y detalles

Intentando crear nuestros propios componentes, entender el framework o trabajando en detalles menores se nos olvida a veces lo que es más importante para nuestros clientes o usuarios: hacer aplicaciones que funcionen y puedan usarse, aunque no estén pulidas al 100% o falten algunos features.

Es por esto que quiero dedicar la segunda parte de este curso en crear un prototipo rápido de la aplicación TeachMe, y en la tercera parte del curso trabajaremos en la refactorización y optimización del código, así como los features restantes en AJAX y la página de solicitudes populares que va a requerir un poco más de análisis.

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

Abstracción con PHP y programación orientada a objetos

php-poo-abstraccion

La Programación Orientada a Objetos (Object Oriented Programming) no es un lenguaje más, sino una forma o enfoque diferente de programación; nuestros programas ya no están conformados por un conjunto de funciones, como se hizo por un largo tiempo, sino por objetos que colaboran entre sí para realizar tareas distintas.

Ver post

Creando un componente para generar HTML

En la lección anterior, aprendimos los conocimientos básicos sobre Service Providers que nos permiten extender la funcionalidad del framework, sin embargo no tuvimos la oportunidad de avanzar mucho en la creación de los métodos de nuestro componente, y esto es precisamente lo que haremos en la clase de hoy.

Crearemos un componente pequeño para generar menús dinámicos en Laravel y también otro para imprimir clases de HTML dinámicamente.

La clase creada en esta lección es parte del component Styde\Html

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

Guardar y recuperar cambios con git

El comando git stash permite guardar cambios realizados en el código y retomar la última versión o commit almacenado, estos cambios también pueden recuperarse en cierto momento de ser requerido, o en caso de que se hayan deshecho por error del usuario.

Crear un repo git

Creamos una carpeta nueva, en mi caso una llamada “stash” e iniciamos git dentro del directorio. Si aun no sabes como crear un repo puedes visitar el post sobre Primeros pasos con git y GitHub. Ver post

Extender la funcionalidad del framework

Hoy voy a adelantarme un poco a futuras lecciones y cursos, y les voy a enseñar cómo pueden extender la funcionalidad de uno o más componentes y clases del framework, con el uso de los Service Providers.

Esta lección también nos va a permitir practicar un poco más la programación orientada a objetos con PHP, dado que vamos a extender clases para implementar nuevos métodos, también vamos a utilizar la sentencia use / as que nos va a permitir trabajar con 2 clases que tengan el mismo nombre (pero por supuesto con espacios de nombre diferentes).

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

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.