administrador.base.orm.rows.filtro_hijo.21.8.0 - gamboamartin/administrador GitHub Wiki

filtro_hijo

Esta función se encarga de aplicar un filtro a un arreglo $filtro basado en el valor de un campo específico $campo_row en un arreglo $row.

Signatura

private function filtro_hijo(string $campo_filtro, string $campo_row, array $filtro, array $row): array

Parámetros

$campo_filtro (string): El nombre del campo en el arreglo $filtro al que se aplicará el filtro. $campo_row (string): El nombre del campo en el arreglo $row del cual se tomará el valor para aplicar el filtro. $filtro (array): El arreglo al que se aplicará el filtro. $row (array): El arreglo del cual se tomará el valor para aplicar el filtro.

Retorna

  • array: El arreglo $filtro modificado con el filtro aplicado.

Explicación Detallada

  • La función verifica si los campos $campo_row y $campo_filtro están vacíos. Si lo están, devuelve un mensaje de error.
  • Si el campo $campo_row no está presente en el arreglo $row, se le asigna un valor vacío.
  • El valor del campo $campo_row en el arreglo $row se convierte a una cadena y se asigna al campo $campo_filtro en el arreglo $filtro.
  • Retorna el arreglo $filtro modificado con el filtro aplicado.

Ejemplos

$objeto = new rows();

// Definir arreglos
$filtro = ['tipo' => ''];
$row = ['tipo' => 'texto', 'otro_campo' => 'valor'];

// Aplicar filtro
$resultado = $objeto->filtro_hijo('tipo', 'tipo', $filtro, $row);

Código de la Función

private function filtro_hijo(string $campo_filtro, string $campo_row, array $filtro, array $row):array{
        if($campo_row===''){
            return $this->error->error(mensaje: "Error campo vacio",data: $campo_row, es_final: true);
        }
        if($campo_filtro===''){
            return $this->error->error(mensaje: "Error filtro",data: $campo_filtro, es_final: true);
        }
        if(!isset($row[$campo_row])){
            $row[$campo_row] = '';
        }
        $filtro[$campo_filtro] = (string)$row[$campo_row];

        return $filtro;
    }