Eliminando registros.

edited marzo 2008 in Principiantes
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

  • if(!$Objeto->delete()){
        Flash::error("No se elimino el registro...");
    }
    

    Prueba con esto avisas...
  • edited 1:52
    El siguiente es el codigo de la accion "del" para el controlador:

    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.
Sign In or Register to comment.