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:
Retornatruesi 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
$llavey$values_sqlutilizandotrim().
- La función elimina los espacios en blanco al inicio y al final de las cadenas
-
Validación de la relación entre
llaveyvalues_sql:- Si la cadena
$llaveno está vacía, la función verifica que$values_sqltambién contenga información. Si$values_sqlestá vacía, se genera un mensaje de error y se retorna un array con el mensaje de error. - Si
$values_sqlcontiene información, la función verifica que$llaveno esté vacía. Si$llaveestá 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;
}