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 clavescampo_1,campo_2, yfecha. La clavefechadebe estar asociada a una fecha válida.
Retorna
stdClass|array:
Retorna un objetostdClasscon los valorescampo_1,campo_2, yfechasi la validación es exitosa. En caso de error, retorna un array de error generado por$this->error->error().
Explicación Detallada
-
Validación del filtro de fecha:
- La función llama a
valida_data_filtro_fecha()para validar que el array$fil_fechacontenga las claves requeridas y que el valor defechasea 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.
- La función llama a
-
Extracción de datos:
- Si la validación es exitosa, la función extrae los valores asociados a las claves
campo_1,campo_2, yfechadel array$fil_fecha.
- Si la validación es exitosa, la función extrae los valores asociados a las claves
-
Construcción del objeto:
- La función crea un objeto
stdClassy asigna los valores decampo_1,campo_2, yfechaa sus respectivas propiedades.
- La función crea un objeto
-
Retorno del objeto:
- La función retorna el objeto
stdClassque contiene los datos del filtro de fecha.
- La función retorna el objeto
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;
}