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 SQLWHEREque 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
-
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
$tablaestá vacía después de la limpieza, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función utiliza
-
Validación del identificador del registro:
- La función verifica si
$registro_ides mayor que 0. - Si
$registro_ides menor o igual a 0, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función verifica si
-
Construcción de la cláusula
WHERE:- Si los parámetros
$tablay$registro_idson válidos, la función construye la cláusula SQLWHEREutilizando la siguiente sintaxis:WHERE tabla.id = registro_id.
- Si los parámetros
-
Retorno de la cláusula
WHERE:- La función retorna la cláusula SQL
WHEREgenerada que identifica el registro específico en la tabla.
- La función retorna la cláusula SQL
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 ";
}