administrador.base.orm.where.where_base - gamboamartin/administrador GitHub Wiki
where_base
La función where_base se encarga de validar y ajustar la cláusula where dentro de un objeto stdClass llamado $complemento. Si la propiedad where no está definida, la función la inicializa como una cadena vacía y luego la procesa mediante la función where_mayus, que convierte la cláusula a mayúsculas y valida su formato. Si ocurre un error en el proceso, devuelve un array de error con detalles.
Signatura
private function where_base(stdClass $complemento): array|stdClass
Parámetros
stdClass $complemento
- Tipo:
stdClass - Descripción: Un objeto que debe contener la propiedad
where, la cual es ajustada y validada por la función. Si la propiedad no está definida, se inicializa como una cadena vacía.
Retorno
array|stdClass
- Tipo:
arrayostdClass - Descripción:
- Si la operación es exitosa, devuelve el objeto
$complementomodificado, con la propiedadwhereajustada y validada. - Si ocurre algún error durante el proceso de validación o ajuste, devuelve un array con un mensaje de error y los detalles del problema.
- Si la operación es exitosa, devuelve el objeto
Explicación Detallada
-
Verificación de la propiedad
where:- Si la propiedad
whereno está definida en el objeto$complemento, se inicializa con una cadena vacía ('').
- Si la propiedad
-
Ajuste de
wherecon la funciónwhere_mayus:- La función delega la validación y el ajuste del campo
wherea la funciónwhere_mayus, la cual convierte la cláusula a mayúsculas y verifica que esté correctamente formada. - Si
where_mayusretorna un error, se captura y se devuelve un array de error con un mensaje detallado.
- La función delega la validación y el ajuste del campo
-
Retorno del objeto
complementoajustado:- Si no se produce ningún error, la función retorna el objeto
$complementomodificado y validado.
- Si no se produce ningún error, la función retorna el objeto
Ejemplos
$complemento = new stdClass();
$complemento->where = " where id = 1";
$resultado = $this->where_base($complemento);
// Resultado esperado:
// $complemento->where = "WHERE ID = 1";
Código de la Función
private function where_base(stdClass $complemento): array|stdClass
{
if(!isset($complemento->where)){
$complemento->where = '';
}
$complemento_r = $this->where_mayus(complemento: $complemento);
if(errores::$error){
return $this->error->error(mensaje: 'Error ajustar where',data: $complemento_r);
}
return $complemento_r;
}