查询方面,您可以通过查询获取它,以使用类似于以下内容的方式获取类别列表:
select forum_categories.id, forum_categories.name, max( forum_answer.id ) as
from forum_categories
left join forum_questions on forum_questins.category_id = forum_categories.category_id
left join forum_answers on forum_answers.question_id = forum_questions.question_id
group by forum_categories.id, forum_categories.name
操作的成本取决于您的论坛的性质。如果人们经常发帖,则每次有人发帖时更新类别上的列可能会更昂贵。如果人们经常加载类别列表,则连接可能是更昂贵的操作。
您可能还会发现创建一个视图以从中提取类别列表是有益的:
create view category_list as
select forum_categories.id, forum_categories.name, max( forum_answer.id ) as latest_asnwer_id
from forum_categories
left join forum_questions on forum_questins.category_id = forum_categories.category_id
left join forum_answers on forum_answers.question_id = forum_questions.question_id
group by forum_categories.id, forum_categories.name
然后您可以像访问表格一样访问它。