Question

Lecture du bas de la documentation, en particulier:

  

« Vous pouvez toujours récupérer les propriétés des objets supprimés, mais vous ne pouvez pas enregistrer les objets supprimés. »

Comment? Est-ce que si vous activez un paramètre?

Était-ce utile?

La solution

Je ne suis pas très familier avec le fonctionnement exact de Propel. Mais il est important de comprendre la différence entre la base de données (MySQL) et la couche ORM (Propel). Propel est une abstraction qui représente les lignes de la base de données en les enveloppant dans des objets. Vous pouvez alors modifier ou supprimer ces lignes en appelant une méthode sur l'objet correspondant et Propel va générer et exécuter l'instruction SQL nécessaire.

Ainsi, après l'instruction SQL SUPPRIMER a été exécuté l'emballage de l'objet sera toujours contenir les données qui a été chargé avant la ligne a été supprimée. Mais il ne sera plus vous permet de modifier les données de ligne, parce qu'il n'y a pas lieu que Propel pourrait écrire ces modifications.

Autres conseils

Un objet supprimé est supprimé seulement dans la base de données et marqué comme étant supprimé. Vous pouvez toujours y accéder en php, par exemple pour afficher des données d'adieu à l'utilisateur ( « XYZ produit a été supprimé »).

Je pense que par « objet », il fait référence à l'objet qui a déjà été chargé en mémoire. Il est dit que vous pouvez toujours regarder ses attributs, mais si vous essayez d'appeler enregistrer essaiera d'exécuter une instruction UPDATE SQL qui échouera parce que le dossier a effectivement été supprimé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top