src.where.data_filtro_fecha - gamboamartin/where GitHub Wiki

data_filtro_fecha

La función data_filtro_fecha es una función privada que valida un filtro de fechas en un array y devuelve un objeto stdClass con los campos del filtro si la validación es exitosa. Esta función se encarga de verificar que el array contenga las claves requeridas (campo_1, campo_2, y fecha) y que la fecha sea válida.

Signatura


private function data_filtro_fecha(array $fil_fecha): stdClass|array

Parámetros

  • array $fil_fecha:
    Un array asociativo que debe contener las claves campo_1, campo_2, y fecha. La clave fecha debe estar asociada a una fecha válida.

Retorna

  • stdClass|array:
    Retorna un objeto stdClass con los valores campo_1, campo_2, y fecha si la validación es exitosa. En caso de error, retorna un array de error generado por $this->error->error().

Explicación Detallada

  1. Validación del filtro de fecha:

    • La función llama a valida_data_filtro_fecha() para validar que el array $fil_fecha contenga las claves requeridas y que el valor de fecha sea una fecha válida.
    • Si la validación falla, se genera un mensaje de error y se retorna un array con el mensaje de error.
  2. Extracción de datos:

    • Si la validación es exitosa, la función extrae los valores asociados a las claves campo_1, campo_2, y fecha del array $fil_fecha.
  3. Construcción del objeto:

    • La función crea un objeto stdClass y asigna los valores de campo_1, campo_2, y fecha a sus respectivas propiedades.
  4. Retorno del objeto:

    • La función retorna el objeto stdClass que contiene los datos del filtro de fecha.

Ejemplos

$fil_fecha = [
    'campo_1' => 'id_producto',
    'campo_2' => 'precio',
    'fecha' => '2023-08-15'
];

$resultado = $this->data_filtro_fecha($fil_fecha);

// Resultado esperado:
// Objeto stdClass con los campos:
// $resultado->campo_1 = 'id_producto';
// $resultado->campo_2 = 'precio';
// $resultado->fecha = '2023-08-15';

Código de la Función

private function data_filtro_fecha(array $fil_fecha): stdClass|array
    {

        $valida = $this->valida_data_filtro_fecha(fil_fecha: $fil_fecha);
        if(errores::$error){
            return $this->error->error(mensaje: 'Error al validar fecha',data: $valida);
        }

        $campo_1 = $fil_fecha['campo_1'];
        $campo_2 = $fil_fecha['campo_2'];
        $fecha = $fil_fecha['fecha'];
        $data = new stdClass();
        $data->campo_1 = $campo_1;
        $data->campo_2 = $campo_2;
        $data->fecha = $fecha;
        return $data;
    }