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 clase controler 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

  1. Limpieza del nombre de la sección:

    • La función elimina el prefijo models\\ de la propiedad seccion del controlador para asegurar que esté en un formato adecuado.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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;
    }