Hola a todos,
Estoy tratando de eliminar un registro de una tabla que tiene registros asociados en otras tablas y que estan soportados por llaves foraneas con restriccion de eliminación. Como puedo hacer para saber que la operación de eliminación no se llevo a termino y que no me arroge el siguiente error que aborta la aplicación, para poder proceder de una forma direferente con dicho registro y notificar al usuario por medio de Flash de lo ocurrido.
KumbiaDBException: Cannot delete or update a parent row: a foreign key constraint fails (`kerp/productos`, CONSTRAINT `productos_ibfk_3` FOREIGN KEY (`unidadesmedidas_id`) REFERENCES `unidadesmedidas` (`id`) ON UPDATE CASCADE) al ejecutar 'DELETE FROM unidadesmedidas WHERE id='1''
Error Code: 1451
En el archivo C:\AppServ\www\kerp\forms\db\adapters\mysql.php en la línea: 135
Gracias de antemano por la atencion prestada.
Comentarios
Prueba con esto avisas...
function del() {
if ($this->permod_del == "N") {
Flash::error("El usuario no tiene permisos suficientes para Eliminar/Activar registros.");
$this->route_to("action: index");
}
if (!$Unidadesmedidas->delete($_REQUEST["umedida_id"])) {
Flash::error("El registro no pudo ser eliminado");
$this->route_to("action: index");
}
else {
Flash::success("Registro Eliminado satisfactoriamente.");
$this->route_to("action: index");
}
}
con este codigo, me genera un error de compilacion:
Fatal error: Call to a member function delete() on a non-object in C:\AppServ\www\kerp\controllers\unidadesmedidas_controller.php on line 214
pero si remplazo $Unidadesmedidas->delete por $this->Unidadesmedidas->delete no me genera error de compilacion, pero entonces el error es el primero que les indique en este foro.