administrador.base.orm.columnas.integra_columnas - gamboamartin/administrador GitHub Wiki
integra_columnas
La función integra_columnas
combina dos cadenas que representan columnas SQL en una sola cadena. La función maneja casos en los que una o ambas cadenas pueden estar vacías y construye una cadena final que incluye las columnas de manera adecuada. También devuelve un objeto stdClass
con la cadena final y un indicador de si se debe continuar con alguna acción adicional.
Signatura
private function integra_columnas(string $columnas, string $resultado_columnas): stdClass
Parámetros
$columnas (string):
-
- Descripción: Cadena que contiene columnas SQL que se van a integrar con $resultado_columnas.
-
- Valor inicial: Puede estar vacío o contener columnas previamente integradas.
-
- Ejemplo: 'columna1, columna2'
$resultado_columnas (string):
-
- Descripción: Cadena que contiene columnas adicionales para integrar en $columnas.
-
- Valor inicial: Puede estar vacío o contener columnas que se deben agregar.
-
- Ejemplo: 'columna3, columna4'
Retorna
-
stdClass: Objeto que contiene dos propiedades:
-
- columnas (string):
-
-
- Descripción: Cadena resultante que combina $columnas y $resultado_columnas.
-
-
-
- Ejemplo: 'columna1, columna2, columna3, columna4'
-
-
- continue (bool):
-
-
- Descripción: Indicador booleano que señala si se debe continuar con alguna acción adicional. Se establece en true si $resultado_columnas está vacío y $columnas no lo está; de lo contrario, se establece en false.
-
-
-
- Ejemplo: true si $resultado_columnas está vacío, false en caso contrario.
-
Explicación Detallada
-
Verificación de Cadenas Vacías:
-
- Si $columnas está vacío:
-
-
- La cadena resultante será igual a $resultado_columnas.
-
-
- Si $columnas no está vacío:
-
-
- Si $resultado_columnas está vacío:
-
-
-
-
- Se establece la propiedad continue en true (indica que no se deben realizar más acciones para integrar columnas).
-
-
-
-
- Si $resultado_columnas no está vacío:
-
-
-
-
- Se concatena $resultado_columnas a $columnas, precedido por una coma y un espacio.
-
-
-
Construcción del Objeto stdClass:
-
- Se crea un objeto stdClass con las propiedades columnas y continue, y se retorna.
Ejemplos
$columnas = 'columna1, columna2';
$resultado_columnas = 'columna3, columna4';
$resultado = $this->integra_columnas($columnas, $resultado_columnas);
echo "Columnas integradas: " . $resultado->columnas;
echo "¿Continuar?: " . ($resultado->continue ? 'Sí' : 'No');
Código de la Función
private function integra_columnas(string $columnas, string $resultado_columnas): stdClass
{
$data = new stdClass();
$continue = false;
if($columnas === ''){
$columnas.=$resultado_columnas;
}
else{
if($resultado_columnas === ''){
$continue = true;
}
if(!$continue) {
$columnas .= ', ' . $resultado_columnas;
}
}
$data->columnas = $columnas;
$data->continue = $continue;
return $data;
}