administrador.base.controller.upd.asigna_datos_modifica - gamboamartin/administrador GitHub Wiki
asigna_datos_modifica
La función asigna_datos_modifica
es una función pública que asigna datos a un controlador para la modificación de un registro específico. La función valida que los datos del controlador sean correctos, asigna el registro_id
al modelo, y luego obtiene los datos del registro desde la base de datos para que puedan ser utilizados en la modificación.
Signatura
final public function asigna_datos_modifica(controler $controler):array
Parámetros
controler $controler
:
Una instancia de la clasecontroler
que contiene información sobre la sección y el registro que se desea modificar. Este objeto también incluye una instancia del modelo correspondiente a la sección.
Retorno
array
:
Retorna un array que contiene los datos del registro que se va a modificar. En caso de error, retorna un array de error generado por$this->error->error()
.
Explicación Detallada
-
Limpieza del nombre de la sección:
- La función elimina el prefijo
models\\
de la propiedadseccion
del controlador para asegurar que esté en un formato adecuado.
- La función elimina el prefijo
-
Validación de la sección:
- La función verifica que la propiedad
seccion
no esté vacía después de la limpieza. - Si
seccion
está vacía, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función verifica que la propiedad
-
Validación del identificador de registro:
- La función verifica si
registro_id
en el controlador es mayor que 0. - Si
registro_id
es menor o igual a 0, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función verifica si
-
Asignación del identificador de registro al modelo:
- La función asigna el valor de
registro_id
al modelo del controlador, permitiendo que el modelo pueda utilizar este identificador para recuperar los datos del registro.
- La función asigna el valor de
-
Obtención de los datos del registro:
- La función llama a
obten_data()
en el modelo para recuperar los datos del registro desde la base de datos. - Si ocurre un error durante la obtención de los datos, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función llama a
-
Retorno de los datos del registro:
- La función retorna un array que contiene los datos del registro que se va a modificar.
Ejemplos
$controler = new controler();
$controler->seccion = 'models\\usuarios';
$controler->registro_id = 123;
$resultado = $this->asigna_datos_modifica($controler);
// Resultado esperado:
// Un array que contiene los datos del registro que se va a modificar.
// Un array de error si ocurre algún problema.
Código de la Función
final public function asigna_datos_modifica(controler $controler):array
{
$namespace = 'models\\';
$controler->seccion = str_replace($namespace,'', $controler->seccion);
if($controler->seccion === ''){
return$this->error->error(mensaje: 'Error seccion no puede venir vacio', data: $controler->seccion,
es_final: true);
}
if($controler->registro_id<=0){
return $this->error->error(mensaje:'Error registro_id debe sr mayor a 0', data:$controler->registro_id,
es_final: true);
}
$controler->modelo->registro_id = $controler->registro_id;
$resultado = $controler->modelo->obten_data();
if(errores::$error){
return $this->error->error(mensaje:'Error al obtener datos', data:$resultado);
}
return $resultado;
}