Eh bien, je suis au milieu d'un problème de conception. J'essaie de construire un système de commentaire un peu universel pour mon site. Alors j'ai commencé avec deux tables:Référence à divers tableaux
COMMENT_NODE a beaucoup Commentaires
Maintenant, je veux être en mesure d'attacher mon système cool commentaire à divers endroits sur mon site. Par exemple à blog_posts et à user_pages.
blog_posts a un COMMENT_NODE
user_pages a un (différent) COMMENT_NODE
donc j'ai fini en idée de stocker supplémentaire comment_node_id champ dans blog_posts et user_pages tables. Mais le problème ici réside dans le fait que cette connexion est unidirectionnelle - je peux obtenir un nœud Comment à partir de posts de blog et de pages d'utilisateurs, mais avec comment_node je ne peux pas trouver quelle autre table l'utilise. Bien sûr, je peux stocker la chaîne 'linked_table' dans comment_nodes ou quelque chose, mais je suppose que cela va tuer ma conception de base de données.
Existe-t-il un bon moyen d'y parvenir? merci
Mais cela me permettra de LEFT JOIN blog_post de COMMENT_NODE? – undsoft
Bien sûr que oui, j'ai édité ma réponse pour inclure ceci. – thomaux
Mais je ne serai pas en mesure de sélectionner la table correspondante dans une requête. Je vais devoir avoir un nombre de requêtes égal au nombre de commentable_types, non? – undsoft