Bonjour,

J'aimerai votre avis sur la structure d'une base de données avec un système de tags généralisé sur tout le site.

// Version 1 (une table de liaison général):
tags:  id  |  name  |  post_count  |  product_count  |  inbox_count
refs_tags:   id  |   tag_id  |  ref_id  |  model (= nom du model de liaison)

// Version 2 (une table de liaison par model):
tags:  id  |  name  |  post_count  |  product_count  |  inbox_count
posts_tags:   id  |  tag_id  | post_id
products_tags:  id  | tag_id  |  product_id

A savoir que:
Il y'aura des requettes faites sur toutes les liaisons pour le module de recherche (les resultats retournés proviendront de tous les models qui utilisent les tags (organisé par colonne ou avec un filtre)).

Le module d'ajout ou d'édition de chaque model (post, product...) devra permettre également l'ajout ou la suppresion de tags associés.

Comment gérer ça avec cakephp 3.X ? Toutes les méthodes dans le model Tag, puis un load du model Tag dans chaque model associé (post, product...) ?

Merci pour votre aide,

Aucune réponse