我的网站是Q&像stackoverflow.com这样的网站。当用户创建一个问题时,他可以在上面添加一些标签。稍后,当他需要查找属于某个类别的所有问题时,可以使用接受标签名称的过滤框。根据用户条目,我将刷新作业列表。
我的桌子设计如下
表:问题
id |问题标题|其他详细信息|
1|为什么地球是圆的?|…………..|
2|月亮的直径是多少?|……|
表:标签
id |标记名
1|行星
2|大地
3|月球
表:附加标签
id | question_id | tag_id
1|1|2
2|1|1
3|2|3
在PHP/Controller中,我将在过滤器框中获得标记id作为用户输入。
在特定标签下获取所有这些问题的最佳方法是什么。
我使用的是PHP和Kohana 3.3
尝试连接您的表,如图所示,根据问题id 连接两个表
select q.id,q.title
from questions q inner join attachedtags at on (q.id = at.question_id) where at.tag_id = ur-passed-tag-id