Pregunta

Lectura de la parte inferior de la documentación, en concreto:

  

"Aún se pueden recuperar las propiedades de los objetos borrados, pero no se puede guardar objetos eliminados."

¿Cómo? ¿Es sólo si se habilita un entorno?

¿Fue útil?

Solución

No estoy muy familiarizado con el funcionamiento exactos de Propel. Sin embargo, es importante entender la diferencia entre la base de datos (MySQL) y la capa ORM (Propel). Propel es una abstracción que representa filas de la base de datos de envolviéndolos en objetos. A continuación, puede cambiar o eliminar tales filas llamando a un método en el objeto correspondiente y Propel va a generar y ejecutar la instrucción SQL necesaria.

Así que, después de que el SQL DELETE fue ejecutado el envoltorio objeto todavía tendrá los datos que se cargan antes de que se suprime la fila. Pero ya no se le permite modificar los datos de la fila, porque no hay ningún lugar que Propel podría escribir esos cambios.

Otros consejos

A objeto eliminado se acaba de eliminar en la base de datos y marcado como se borre. Todavía se puede acceder a él en php, por ejemplo, para mostrar algunos datos adiós al usuario ( "Producto XYZ se ha eliminado").

Creo que por 'objeto' que se refiere al objeto que ya ha sido cargado en la memoria. Es como decir que todavía se puede mirar a sus atributos, pero si se intenta llamar a guardarlo tratará de ejecutar una sentencia SQL UPDATE, que fallará porque el registro de hecho ha sido eliminado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top