Php Codeigniter 2.x:向我的条目添加标签
我正在构建一个应用程序,用户可以在其中添加注释。我希望用户能够添加一些标签的笔记,并过滤它之后。到目前为止,我允许用户使用类似%%的字符串和过滤器。但是它不能完全满足我的需要,因为当有更多的标签时,我可能需要搜索它们,使用操作符等等。例如:stackoverflow标签 我在考虑下面的SQL结构Php Codeigniter 2.x:向我的条目添加标签,php,codeigniter,Php,Codeigniter,我正在构建一个应用程序,用户可以在其中添加注释。我希望用户能够添加一些标签的笔记,并过滤它之后。到目前为止,我允许用户使用类似%%的字符串和过滤器。但是它不能完全满足我的需要,因为当有更多的标签时,我可能需要搜索它们,使用操作符等等。例如:stackoverflow标签 我在考虑下面的SQL结构 有一个名为“notes”的表和一个名为“tag_id”的列 有一个名为“tags”的表,该表提供带有“text”的“tag_id” 一个函数,用于翻译每个数组(向前和向后),并将其替换为相反的等效值[
- 有一个名为“notes”的表和一个名为“tag_id”的列
- 有一个名为“tags”的表,该表提供带有“text”的“tag_id”
- 一个函数,用于翻译每个数组(向前和向后),并将其替换为相反的等效值[number标记翻译用于前端,标记翻译用于数据库和后续过滤]
问题是:这样做是个好主意吗?我应该如何构造我的数据库?你知道有什么特别的文章可以帮助我吗?如果你想要一张带有多个标签的便笺,我建议你改变跟踪关系的方式。换言之,这意味着: 表注
-字段noteid
-字段注释名 表格标签
-字段标记ID
-字段noteid
-字段标记名 如果需要多对多关系,请将该关系存储在第三个表中,该表将有3列:1)linkid 2)tagid 3)noteid
然后,您可以通过查询noteid=noteid的标记表来检索特定表的所有标记,或者执行表的联接-实际联接将取决于您尝试执行的操作您只需使用3个表即可完成:notes、tags、notes\u tags(外键:note\u id、tag\u id)。没有函数,只有查询