administrador.base.orm.sql.valida_in - gamboamartin/administrador GitHub Wiki
valida_in
La función valida_in
es una función pública que valida la relación entre una llave (nombre de columna) y una lista de valores SQL (values_sql
). Verifica que si uno de los parámetros tiene información, el otro también la debe tener. La función está diseñada para prevenir errores en la construcción de consultas SQL IN
.
Signatura
final public function valida_in(string $llave, string $values_sql): bool|array
Parámetros
-
string $llave
:
El nombre del campo o columna que se utilizará en la cláusula SQLIN
. Esta cadena se valida para asegurar que no esté vacía si se proporciona una lista de valores. -
string $values_sql
:
Una cadena que representa una lista de valores que se utilizarán en la cláusula SQLIN
. Esta cadena se valida para asegurar que no esté vacía si se proporciona una llave.
Retorna
bool|array
:
Retornatrue
si la validación es exitosa. En caso de error, retorna un array de error generado por$this->error->error()
.
Explicación Detallada
-
Limpieza de los parámetros:
- La función elimina los espacios en blanco al inicio y al final de las cadenas
$llave
y$values_sql
utilizandotrim()
.
- La función elimina los espacios en blanco al inicio y al final de las cadenas
-
Validación de la relación entre
llave
yvalues_sql
:- Si la cadena
$llave
no está vacía, la función verifica que$values_sql
también contenga información. Si$values_sql
está vacía, se genera un mensaje de error y se retorna un array con el mensaje de error. - Si
$values_sql
contiene información, la función verifica que$llave
no esté vacía. Si$llave
está vacía, se genera un mensaje de error y se retorna un array con el mensaje de error.
- Si la cadena
-
Retorno del resultado:
- Si ambas validaciones son exitosas, la función retorna
true
.
- Si ambas validaciones son exitosas, la función retorna
Ejemplos
$llave = 'id_producto';
$values_sql = "'100', '200', '300'";
$resultado = $this->valida_in($llave, $values_sql);
// Resultado esperado:
// true (si la validación es exitosa)
// Un array de error si ocurre algún problema.
Código de la Función
final public function valida_in(string $llave, string $values_sql): bool|array
{
$llave = trim($llave);
$values_sql = trim($values_sql);
if($llave !== ''){
if($values_sql ===''){
return $this->error->error(mensaje: 'Error si llave tiene info values debe tener info',
data: $llave, es_final: true);
}
}
if($values_sql !== ''){
if($llave ===''){
return $this->error->error(
mensaje: 'Error si values_sql tiene info llave debe tener info', data: $values_sql, es_final: true);
}
}
return true;
}