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:
array
ostdClass
- Descripción:
- Si la operación es exitosa, devuelve el objeto
$complemento
modificado, con la propiedadwhere
ajustada 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
where
no está definida en el objeto$complemento
, se inicializa con una cadena vacía (''
).
- Si la propiedad
-
Ajuste de
where
con la funciónwhere_mayus
:- La función delega la validación y el ajuste del campo
where
a la funciónwhere_mayus
, la cual convierte la cláusula a mayúsculas y verifica que esté correctamente formada. - Si
where_mayus
retorna 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
complemento
ajustado:- Si no se produce ningún error, la función retorna el objeto
$complemento
modificado 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;
}