Gente, tengo un cuadro el cual se carga con datos de porcentajes permitidos por cada registro, es decir no debo permitir “Agregar” o “Modificar” un registro con un valor que supere el total acumulado de 100%, con lo cual en el formulario tengo el siguiente código:
if (!$this->dep('datos')->esta_cargada()){
//Si es nuevo verifica que el puntaje acumulado no supere el 100%
if ($this->dep('datos')->tabla('sgp_concepto_calificacion')->validar_puntaje($datos['puntaje_max']))
{
//Si es menor a 100% permite la grabación del nuevo registro
$this->dep('datos')->tabla('sgp_concepto_calificacion')->set($datos);
} else {
//Si es mayor, muestra un mensaje de error y no graba
toba::notificacion()->agregar($datos['puntaje_max'].' El Puntaje Total Acumulado de los Conceptos supera el 100%', 'error');
}
El problema es el siguiente, supongamos que tengo 4 registros con valores de 30, 30, 30 y 10. Al querer modificar el ultimo a un valor de 5 por ejemplo la logica me da error ya que en la BD la funcion validar_puntaje totaliza 100 y al sumarle 5 del campo modificado supera los 100 permitidos. Hay alguna forma de guardar o conocer el valor que tenia el campo $datos[‘puntaje_max’] antes de la modificación?.
Gracias.