Kohana PHP Framework, trae un ORM (ver más sobre ORM’s), sencillo pero poderoso, sencillo por que es muy fácil de usar y poderoso por que podemos hacer casi cualquier cosa con dicho ORM.
El único punto en contra es que solo tiene soporte para MySQL, pero como la mayoría usamos la combinación LAMP o mejor MySQL+ PHP, creo que vale la pena estudiarlo a fondo.
Para usarlo recordemos que solo basta con descomentar el modulo en el bootstrap y mover el archivo de configuración database.php a nuestra configuración de la aplicación.
Ahora bien vamos a describir como usar el ORM y como usar la mayoría de sus características.
Haciendo una simple consulta.
Es importante recordar que hay que agregar una clase para manejar cada tabla, aunque esto a veces se puede omitir ayuda mucho tener todo refactorizado ya que mejora la organización del código ya la vez su mantenimiento.
PROBLEMA: Como hacer una consulta de todos los datos de una tabla(‘users’);
//Consulta normal
$sql = 'select * from users';
$results = mysql_query($sql,$conection);
if($results) {
//Resultados
}
//Consulta ORM
$results = ORM::factory('users')->find_all();
if($results->loaded())
{
// Resultados
}
Como vemos es muy fácil de usar el orm, ahora veamos otros ejemplos mas avanzados
PROBLEMA: Consultar la tabla mediante un id único
$id = 5; //id unico
//Consulta normal
$sql = 'select * from users where id = '.$id;
$results = mysql_query($sql,$conection);
if($results)
{
// Resultados
}
//ORM Forma:1
$results = ORM::factory('users',$id)->find();
if($results->loaded())
{
// Resultados
}
//ORM Forma:2
$results = ORM::factory('users')
->where('id','=',$id)
->find();
if($results->loaded())
{
// Resultados
}
Como vemos podemos hay dos formas de hacer la consulta con el ORM, ya se indicándole el id al factory o mediante where, al final es lo mismo, solo que la primero forma sirve para el id únicamente(el nombre del campo debe de ser id por default aunque también se puede modificar).
Algunos de los métodos que podemos usar son los siguientes(no son todos pero tratare de poner los mas importantes)
- where
- where_open
- where_close
- join
- on
- order_by
- offset
- limit
- group_by
- or_where
- and_where
Obviamente combinando todos podemos crear consultas complejas, por ejemplo la siguiente.
comentarios recientes