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;
    }