Je suis en train de mettre en place un site Web DB avec kohana et je dois être en mesure de suivre les révisions. J'ai donc les données derrière les pages individuelles dans deux tableaux. Le premier est la table d'entités génériques que j'utilise pour garder une trace de tout le contenu des sites. Il contient des informations de base: uid de ressources, alias uri, création d'utilisateur, date de création, et utilisateur de publication et modèle de contenu. La table de révision contient rev_id, UID de ressource comme FK, titre, contenu de page, créateur de révision, date de révision et approbateur de publication.Kohana modèle pour la propagation des données à travers plusieurs tables
Le site recherchera une page par ressource uid ou uri alias et renverra la révision publiée la plus récente. Cependant, à partir de l'uri, l'utilisateur peut restaurer la page à des révisions antérieures en incluant une limite de date supérieure dans l'uri ou un # # pour annuler # révisions. Par conséquent, le contrôleur de page prendra l'ID de ressource, éventuellement une date et un nombre d'annulation de révision, demandant l'enregistrement approprié des modèles et passant l'enregistrement approprié à l'affichage.
La création de nouvelles pages mettra à jour les deux tables, la mise à jour des pages mettra à jour une table et la suppression de tables affectera 1 table.
Dois-je créer deux modèles, le modèle d'entité et le modèle de révision? Ou devrais-je simplement avoir le modèle logique qui résume la structure actuelle?
Bonne question. –
Jetez un oeil dans la classe ORM_Versioned: http://dev.kohanaframework.org/projects/kohana2/repository/entry/tags/2.3.4/system/libraries/ORM_Versioned.php. Peut être cela aide – biakaveron