Problema carro y variables

Hola estoy haciando una app estilo uber eats pero para un solo negocio. Tengo productos con variables que no son obligatoria. En cuanto agrego un producto sin variable si es solo uno me lee bien el precio si son dos es como que ya no lo multiplica por la cantidad y lo agrega al carro con el precio de uno aun que sean 10. Si lo agrego al carro con el adicional ningun problema calcula bien el precio . Si quiero agregar el mismo producto uno con variable y uno sin variable lo sovrapone . Donde puede estar el problema?es que llevo semanas con este tema de las variables y de verdad es que no entiendo el problema !No tiene logica aunque las funciones parecen que si .

sobrepone los datos por que el registro lo estás haciendo que se guarde con el mismo ID por eso se reescribe la información, puedes hacer que lo agregue con un id dinámico para que ya no te suceda eso