Asociaciones y campos virtuales en CakePHP

Cuando hablamos de asociaciones en CakePHP hay un concepto fundamental que maneja este framework que es ORM (Mapeo Objeto-Relacional) el cual tiene como objetivo manejar las relaciones entre las distintas tablas que existe en una base de datos de manera sencilla. El mapeo objeto-relacional es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y el utilizado en una base de datos relacional, por lo tanto, usando ORM en CakePHP podemos guardar, actualizar, recuperar y eliminar datos relacionados entre diferentes tablas de manera más fácil. Dicho esto y continuando con el Curso de desarrollo de aplicaciones web con el framework CakePHP en este video seguimos tratando el tema de relaciones en CakePHP, esta vez vamos a realizar asociaciones y enfocándonos en nuestro proyecto restaurante, vamos a realizar las asociaciones entre las Mesas y los Meseros de dicho restaurante. Completaremos el módulo de Mesas donde generamos un listado de las mesas pertenecientes al restaurante, estas mesas estarán asociados a un mesero (responsable) de tal forma aprenderemos a asociar nuestros modelos aprovechando las facilidades que nos trae CakePHP, también se realizará una acción que nos permita ingresar nuevas mesas, lo interesante está que podemos asignarle un mesero responsable a la mesa que se creará, lo propio sucede con la edición de mesas y finalmente la eliminación de las mesas para así obtener un modulo completo.


CakePHP también maneja lo que son Virtual Fields (Campos virtuales) que nos permiten crear expresiones SQL arbitrarias y asignarlos como campos dentro un modelo, estos campos no se pueden guardar pero serán tratados igual que otros campos para operaciones de lectura, estos campos virtuales nos aportará beneficios y uno de ellos puede ser la concatenación de dos campos de nuestra tabla de base de datos y poder asignarlos a un campo virtual, esto con el fin de poder utilizar este campo virtual para generar una lista de Meseros (dado el caso de nuestro proyecto restaurante) y así poder manipularlo desde nuestras vistas. Algo que nos recomienda la documentación de CakePHP es no crear campos virtuales con los mismos nombres de las columnas de nuestra tabla de base de datos.

A continuación te dejo el video 6 donde te hablo de todo lo mencionado anteriormente y otras características más puestas a la práctica:

Ahora dime tú, que te pareció el manejo de asociaciones y virtual fields en CakePHP? con esto ya tenemos concluidos dos módulos de nuestro proyecto restaurante e imagino yo que ya tenemos bastante claro el manejo de tipos de relaciones y sus asociaciones entre modelos, es muy importante saber manejar este tema por eso es que me tome el tiempo y dedicación en dos videos para explicarlo de manera mas detallada posible. Anímate a dejar un comentario acá abajo con tu opinión y sugerencias.

Para finalizar sugiero que no te pierdas los próximos vídeos que estaré publicando periódicamente en mi blog y si te pareció interesante el artículo y el video no dudes en compartirlo en las redes sociales. Comparto el código de todo lo avanzado en el video con la base de datos para que tu mismo puedas probarlo, espero te sea muy útil 8-)

Sigue todas las lecciones del curso AQUÍ.

Saludos!!!

Descargar código.

firma emm

3 respuestas a «Asociaciones y campos virtuales en CakePHP»

  1. Hola amigo Edson, paso a saludarte y a agradecerte por el tiempo que te tomas en compartir tus conocimientos de este framework con nosotros. Te comento que tengo un problema en este tema del video por lo que estoy usando la version 3 del framework y al parecer cambiaron muchas cosas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *