administrador.base.orm._where.where_id_base - gamboamartin/administrador GitHub Wiki

where_id_base

La función where_id_base es una función privada que genera una cláusula SQL WHERE para seleccionar un registro específico en una tabla, basado en su identificador (registro_id). Esta función valida los parámetros proporcionados y construye la cláusula WHERE correspondiente utilizando el identificador del registro y el nombre de la tabla.

Signatura


private function where_id_base(int $registro_id, string $tabla): string|array

Parámetros

  • int $registro_id:
    Un valor entero que representa el identificador del registro que se desea seleccionar o modificar en la consulta SQL. Debe ser mayor que 0.

  • string $tabla:
    Una cadena que representa el nombre de la tabla en la base de datos donde se buscará el registro.

Retorno

  • string|array:
    Retorna una cadena que representa la cláusula SQL WHERE que identifica un registro específico en la tabla. En caso de error, retorna un array de error generado por $this->error->error().

Explicación Detallada

  1. Validación del nombre de la tabla:

    • La función utiliza trim() para eliminar espacios en blanco al inicio y al final del parámetro $tabla.
    • Si $tabla está vacía después de la limpieza, se genera un mensaje de error y se retorna un array con el mensaje de error.
  2. Validación del identificador del registro:

    • La función verifica si $registro_id es mayor que 0.
    • Si $registro_id es menor o igual a 0, se genera un mensaje de error y se retorna un array con el mensaje de error.
  3. Construcción de la cláusula WHERE:

    • Si los parámetros $tabla y $registro_id son válidos, la función construye la cláusula SQL WHERE utilizando la siguiente sintaxis: WHERE tabla.id = registro_id.
  4. Retorno de la cláusula WHERE:

    • La función retorna la cláusula SQL WHERE generada que identifica el registro específico en la tabla.

Ejemplos

$registro_id = 123;
$tabla = 'usuarios';

$resultado = $this->where_id_base($registro_id, $tabla);

// Resultado esperado:
// ' WHERE usuarios.id = 123 '
// Un array de error si ocurre algún problema.

Código de la Función

private function where_id_base(int $registro_id, string $tabla): string|array
    {
        $tabla = trim($tabla);
        if($tabla === ''){
            return $this->error->error(mensaje: 'Error tabla esta vacia',data:  $tabla, es_final: true);
        }
        if($registro_id <= 0 ){
            return $this->error->error(mensaje: 'Error registro_id debe ser mayor a 0',data:  $tabla, es_final: true);
        }
        return " WHERE $tabla".".id = $registro_id ";
    }