administrador.base.orm.where.filtros_vacios - gamboamartin/administrador GitHub Wiki
filtros_vacios
La función filtros_vacios
verifica si todos los valores de las claves especificadas en un array están vacíos dentro de un objeto stdClass
llamado $complemento
. Si alguno de los valores no está vacío (después de eliminar espacios en blanco), la función devuelve false
. Si todos los valores están vacíos, devuelve true
. Si alguna clave no está definida en el objeto, la función la inicializa con una cadena vacía.
Signatura
private function filtros_vacios(stdClass $complemento, array $keys_data_filter): bool
Parámetros
stdClass $complemento
- Tipo:
stdClass
- Descripción: El objeto que contiene los filtros a validar. Las claves en el array
$keys_data_filter
se buscan en este objeto para verificar si están vacías.
array $keys_data_filter
- Tipo:
array
- Descripción: Un array de claves que deben ser verificadas en el objeto
$complemento
. Cada clave se examina para ver si su valor está vacío (después de aplicartrim()
). Si alguna clave no está presente en el objeto, se inicializa con una cadena vacía.
Retorno
bool
- Tipo:
bool
- Descripción: Devuelve
true
si todos los valores de las claves especificadas están vacíos. Devuelvefalse
si al menos uno de los valores no está vacío.
Explicación Detallada
-
Inicialización de valores faltantes:
- Si alguna de las claves en
$keys_data_filter
no está definida en el objeto$complemento
, se inicializa con una cadena vacía (''
).
- Si alguna de las claves en
-
Verificación de vacíos:
- La función recorre cada clave en
$keys_data_filter
. Si el valor asociado a una clave (después de aplicartrim()
) no está vacío, la función inmediatamente cambia el valor de la variable$filtros_vacios
afalse
y termina el bucle. - Si después de recorrer todas las claves no se encuentran valores no vacíos, la función devuelve
true
, indicando que todos los filtros están vacíos.
- La función recorre cada clave en
Ejemplos
$complemento = new stdClass();
$complemento->nombre = " "; // vacío después de trim
$complemento->edad = ""; // vacío
$keys_data_filter = ['nombre', 'edad', 'ciudad'];
$resultado = $this->filtros_vacios($complemento, $keys_data_filter);
// Resultado esperado: true, ya que todas las claves tienen valores vacíos.
Código de la Función
private function filtros_vacios(stdClass $complemento, array $keys_data_filter): bool
{
$filtros_vacios = true;
foreach ($keys_data_filter as $key) {
if(!isset($complemento->$key)){
$complemento->$key = '';
}
if (trim($complemento->$key) !== '') {
$filtros_vacios = false;
break;
}
}
return $filtros_vacios;
}