Bueno hoy vamos a ver una herramienta muy poderosa que nos proporciona kumbiaPHP framework. Se trata de ActiveRecord. ActiveRecord proporciona la capa objeto-relacional que sigue rigurosamente el estándar ORM. Que signifca esto? Pues que ahora vamos a poder tratar las tablas como clases, los registros como objetos y los campos como atributos. Esto nos brindara una muy buena y sencilla manera de trabajar con tablas despreocupandonos de las molestas sentencias que usabamos antes.

Para usar ActiveRecord es necesario crear un modelo para cada tabla como ya habiamos visto en [el ejemplo anterior](https://paraisolinux.com/kumbia- hacer-un-amb-en-5-minutos/). Es decir que por ejemplo para la tabla clientes nuestro modelo sera un archivo llamado clientes.php dentro del directorio models y que contenga:

Antes de pasar a ver como se usa voy a recomendarles que sigan 2 convenciones que son las sugeridas tambien en el libro.

  • Llamar Id al campo clave de tabla y colocarla como autonumerica
  • campo_id : Los campos terminados en _id indican relaciones foráneas a otras tablas, de esta forma se puede definir fácilmente las relaciones entre las entidades del modelo. Un campo llamado clientes_id en una tabla indica que existe otra tabla llamada clientes y esta contiene un campo id que es foránea a este.

CRUD: Create (Crear), Read (Leer), Update (Actualizar), Delete (Borrar)

ActiveRecord implementa automáticamente las cuatro operaciones básicas sobre una tabla: Crear, Leer, Actualizar y Borrar. Veamos ahora como usarlos:

Crear Registros

Manteniendo la idea del Objeto-Relacional podemos pensar que crear registros es lo mismo que crear objetos. Asignar valores a los atributos de un objeto y ejecutar el método create o save es lo mismo que hacer un INSERT y guardar valores en los campos.

$cliente=new clientes();

$cliente->nombre=“Eduardo”;

$cliente->apellido=“Santillan”;

$cliente->edad=“23”;

$cliente->save(); // seria igual si podemos $cliente->create();

Consultar Registros

En cuanto a la busqueda o consulta de registros existen muchos metodos y formas de hacerlo. Voy a mostrar solo un par de ejemplos. Si quieren algo mas detallado deberan consultar el libro.

$cliente=$clientes->find(85);

Lo que hace la anterior consulta es devolver en el objeto $cliente el registro cuyo id es 85. Es la forma mas basica de busqueda con activeRecord.

Para buscar segun otros campos distintos al id podemos hacer:

foreach($clientes->find(“apellido=‘Santillan’' and edad<24”) as $cliente){ print $cliente->nombre; }

Con lo anterior estaremos buscando todos los registros cuyo campo apellido sea “Santillan” y cuyo campo edad sea menor a 24. Asumo que saben usar el foreach.

Actualizar Registros

Para actualizar la tarea es sencilla. Primero buscamos el registro que deseamos actualizar, luego cambiamos los valores que deseemos y por ultimo aplicamos el metodo save() o create().

$cliente=$clientes->find(369);

$cliente->edad=27;

$cliente->save();

Borrado de registros

Tampoco hay mucho que decir sobre el borrado de registros. Solo le pasamos el id que deseamos borrar.

$clientes->delete(45);

La verdad es que ahora no se como logre sobrevivir sin el ActiveRecord. Luego de probarlo me encanto porque es una manera de programar muy natural y sencilla.