Estoy con las ACL. Cuando edito un usuario (AroRequester) y le cambio de
grupo, tengo que actualizar la tabla de AROS para cambiar su nodo padre
(es decir, para actualizar el grupo al que pertenece).
El caso es que ahora mismo, primero guardo los datos del usuario en la
tabla users y después, si el grupo al que pertenece el usuario ha
cambiado, modifico la tabla aros convenientemente.
El problema es que si la actualización de la tabla aros falla, el
usuario se queda en un grupo y las ACLs aplican los permisos de otro...
La solución creo que pasa por usar una transacción que englobe las dos
operaciones.
He estabo buscando información sobre el uso de transacciones en CakePHP:
http://monmonja.com/blog/2008/07/transaction-on-cakephp-12/
$this->Model->begin();
$returnQuery = $this->Model->query($query);
if($returnQuery !== false){
$this->Model->commit();
}else{
$this->Model->rollback();
}
Pero en el API no veo esos métodos...
También he encontrado un behaviour:
http://bakery.cakephp.org/articles/view/transaction-behavior
Pero me gustaría usar las funciones base de Cake, si es que existen.
Gracias