src.where.value_coma - gamboamartin/where GitHub Wiki
value_coma
La función value_coma es una función privada que valida un valor y una cadena de valores SQL existente, y decide si es necesario agregar una coma (,) antes de concatenar el nuevo valor. Esta función asegura que el valor no esté vacío y determina si se debe agregar una coma para formar correctamente una lista de valores en una consulta SQL.
Signatura
private function value_coma(string $value, string $values_sql): array|stdClass
Parámetros
-
string $value:
El valor que se va a agregar a la lista de valores SQL. Este valor debe ser una cadena no vacía. -
string $values_sql:
La cadena SQL existente que contiene los valores previamente agregados. Esta cadena se utiliza para determinar si se necesita agregar una coma antes de concatenar el nuevo valor.
Retorna
array|stdClass:
Retorna un objetostdClassque contiene el valor validado y una coma (coma) que se debe agregar antes del valor si es necesario. En caso de error, retorna un array de error generado por$this->error->error().
Explicación Detallada
-
Limpieza y validación de los parámetros:
- La función elimina los espacios en blanco al inicio y al final de las cadenas
$valuey$values_sqlutilizandotrim(). - Si
$valueestá vacío después de la limpieza, se genera un mensaje de error y se retorna un array con el mensaje de error.
- La función elimina los espacios en blanco al inicio y al final de las cadenas
-
Determinación de la coma:
- Si la cadena
$values_sqlno está vacía, la función determina que es necesario agregar una coma (,) antes de concatenar el nuevo valor, para separar correctamente los valores en la lista SQL.
- Si la cadena
-
Creación del objeto
stdClass:- La función crea un objeto
stdClassque contiene:value: El valor validado.coma: Una coma (,) si es necesario agregarla antes del valor.
- La función crea un objeto
-
Retorno del objeto:
- La función retorna el objeto
stdClasscon el valor y la coma necesarios para formar la lista SQL correctamente.
- La función retorna el objeto
Ejemplos
$value = '100';
$values_sql = "200, 300";
$resultado = $this->value_coma($value, $values_sql);
// Resultado esperado:
// Un objeto stdClass con los atributos:
// - value: "100"
// - coma: " ,"
// Un array de error si ocurre algún problema.
Código de la Función
private function value_coma(string $value, string $values_sql): array|stdClass
{
$values_sql = trim($values_sql);
$value = trim($value);
if($value === ''){
return $this->error->error(mensaje: 'Error value esta vacio',data: $value, es_final: true);
}
$coma = '';
if($values_sql !== ''){
$coma = ' ,';
}
$data = new stdClass();
$data->value = $value;
$data->coma = $coma;
return $data;
}