administrador.base.orm._where.where_inicial - gamboamartin/administrador GitHub Wiki
where_inicial
La función where_inicial
es una función privada que genera una cláusula SQL WHERE
para seleccionar un registro específico en una tabla, basada en un campo clave (campo_llave
) o en el identificador del registro (registro_id
). La función valida los parámetros proporcionados y utiliza las funciones auxiliares where_id_base
y where_campo_llave
para construir la cláusula WHERE
adecuada.
Signatura
private function where_inicial(string $campo_llave, int $registro_id, string $tabla): array|string
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. Si está vacío, se utilizará solo el identificador del registro (registro_id
) para generar la cláusulaWHERE
. -
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
array|string
:
Retorna una cadena que representa la cláusula SQLWHERE
que identifica un registro específico en la tabla, utilizando ya sea el campo clave (campo_llave
) o el identificador del registro (registro_id
). 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
$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.
- La función utiliza
-
Generación de la cláusula
WHERE
base:- La función llama a
where_id_base()
para generar la cláusulaWHERE
basada en el identificador del registro (registro_id
). - Si ocurre un error durante este proceso, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función llama a
-
Construcción de la cláusula
WHERE
final:- Si
$campo_llave
está vacío, la función utiliza la cláusulaWHERE
generada porwhere_id_base()
. - Si
$campo_llave
no está vacío, la función llama awhere_campo_llave()
para generar la cláusulaWHERE
utilizando tanto el campo clave como el identificador del registro. - Si ocurre un error durante la generación de
where_campo_llave()
, se genera un mensaje de error y se retorna un array con el mensaje de error.
- Si
-
Retorno de la cláusula
WHERE
final:- La función retorna la cláusula SQL
WHERE
generada que identifica el registro específico en la tabla.
- La función retorna la cláusula SQL
Ejemplos
$campo_llave = 'id'; $registro_id = 123; $tabla = 'usuarios';
$resultado = $this->where_inicial($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
```php
private function where_inicial(string $campo_llave, int $registro_id, string $tabla): array|string
{
$tabla = trim($tabla);
if($tabla === ''){
return $this->error->error(mensaje: 'Error tabla esta vacia',data: $tabla, es_final: true);
}
$where_id_base = $this->where_id_base(registro_id: $registro_id,tabla: $tabla);
if(errores::$error){
return $this->error->error(mensaje: 'Error al generar where_id_base',data: $where_id_base);
}
if($campo_llave === ""){
$where = $where_id_base;
}
else{
$where_campo_llave = $this->where_campo_llave(campo_llave: $campo_llave, registro_id: $registro_id,
tabla: $tabla);
if(errores::$error){
return $this->error->error(mensaje: 'Error al generar where_id_base',data: $where_campo_llave);
}
$where = $where_campo_llave;
}
return $where;
}