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

where_campo_llave

La función where_campo_llave es una función privada que genera una cláusula SQL WHERE basada en un campo clave (campo_llave), el identificador de un registro (registro_id), y el nombre de una tabla (tabla). Esta función valida los parámetros proporcionados y construye la cláusula WHERE correspondiente para identificar un registro específico en la base de datos.

Signatura


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

Parámetros

  • string $campo_llave:
    Una cadena que representa el nombre del campo clave en la tabla, generalmente utilizado como la clave primaria o un identificador único.

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

  • 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 campo clave:

    • La función utiliza trim() para eliminar espacios en blanco al inicio y al final del parámetro $campo_llave.
    • Si $campo_llave está vacío después de la limpieza, 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 $campo_llave son válidos, la función construye la cláusula SQL WHERE utilizando la siguiente sintaxis: WHERE tabla.campo_llave = 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

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

$resultado = $this->where_campo_llave($campo_llave, $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_campo_llave(string $campo_llave, 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);
        }
        $campo_llave = trim($campo_llave);
        if($campo_llave === ''){
            return $this->error->error(mensaje:'Error campo_llave esta vacia', data:$campo_llave, es_final: true);
        }
        return " WHERE $tabla".".$campo_llave = $registro_id ";

    }