Hello :)
Alors Grafikart n'a pas fait de Forum classique à l'ancienne (système de catégories, sous-catégories) il a fait un système de tags (tous les topics en vrac que tu peux filtrer par tags)
Quand tu accèdes au forum, tu récupère toute la liste des topics et tu boucles, ensuite quand tu places un tag, tu modifies la requête et tu ne récupère que les topics qui ont le tag séléctionné, et tu boucle le résultat
Si plusieurs tags sont selectionnés, dans ta requête tu ne récupère que les posts qui sont liés à au moins un des tags... et tu boucles le résultat dans la vue :)
Bref tu vires les catégories, tu places la liste de tous les topics en vrac et tu ajoutes un système de filtre par tags
1 - Tous les topics en vrac c'est bien ça
2 - Alors non, ce ne sont pas des forums et sous-forum, ce sont des tags, qui serviront à filtrer la liste des topics
3 - Alors les réponses ont un topic_id pour relier au sujet, et les topics ont une relation one2many, donc tu fait 3tables, une table topics, une table tags, et une table pivot topic_tag ton topic sera relié aux tags via le pivot, en gros ça donne un truc du genre:
| topics | topic_tag | tags |
-------------------------------------------------
| id | topic_id tag_id | id |
| 1 | 1 2 | 1 |
| 2 | 2 1 | 2 |
| 3 | 2 3 | 3 |
| 4 | 3 3 | 4 |
| 5 | 3 5 | 5 |
Dans cet exemple, le topic avec l'id 1 est relié au tag 2, le topic 2 est relié au tag 1 et au tag 3, le topic 3 est relié au tag 3 et au tag 5
4 - Si on choisis pas de tags ça affiche tous les topics
5 - Alors la réponse est liée au topic, on si il ya une réponse tu peux récupérer la dernière réponse liée au topic en question