Bueno, a simple vista, tienes este error:
Código PHP:
Ver original$this->Producto->query(UPDATE TABLE productos SET cantidad = cantidad + $cantidad WHERE id = '$id')
Todo desde
UPDATE hasta
'$id' debe estar encerrado entre comillas dobles y falta
; al final de la linea.
Lo demas no lo he revisado pero, te sugiero que si PHP te da errores los copies y pegues aqui para solucionar primero los problemas de codigo y ya despues veremos si la logica esta correcta.