Le problème: Toutes les tables de notre base de données ont des champs CreatedDate, CreatedBy, ChangedDate, ChangedBy que je veux être définie automatiquement lors de la sauvegarde/Mise à jour d'une entité ActiveRecord. Mon premier essai a été de remplacer les méthodes Save() et Update(). Mais ces méthodes ne sont appelées que lorsque je fais une sauvegarde directe() ou une mise à jour() sur l'entité. Ils ne sont pas appelés dans un scénario Master - Detail où j'appelle Save() uniquement sur le maître.Howto remplir automatiquement les champs pendant la sauvegarde ou la mise à jour avec le château ActiveRecord
Ensuite, essayez les méthodes OnSave() et OnUpdate(), mais les changements dans les champs n'ont pas été conservés dans la base de données.
Enfin j'ai essayé la méthode BeforeSave(). Mais cette méthode n'est pas appelée lors de la mise à jour.
La question: Comment définir ces CreatedDate, CreatedBy, ChangedDate, champs ChangedBy automatiquement lors d'un enregistrement() ou mise à jour()?
Le problème avec cette approche est que la méthode Update() n'est appelée que lorsque la publication (dans votre exemple) est directement mise à jour. Mais lorsque j'apporte des modifications à la publication et que j'appelle Mise à jour sur le blog (qui contient beaucoup de messages), la méthode update() sur Post n'est pas appelée automatiquement. – Thomas