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 objetostdClass
que 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
$value
y$values_sql
utilizandotrim()
. - Si
$value
está 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_sql
no 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
stdClass
que 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
stdClass
con 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;
}