我正在做一个项目,让用户能够写一篇文章然后标记它。最后,其他用户进来并投票选出最佳帖子。
在我面临标记挑战之前,一切都像魅力一样:如何找出最简单的方法来处理它们?
我使用多对多关系为每个帖子分配多个标签。但在将它们插入数据库之前我发现了困难。这些困难包括:“我怎么知道这个标签还没有存储在 DB 中?”(当然,我将 name 字段设置为 UNIQUE,但如果有人输入了预存储的标签,他将面临我没有的 codeigniter 错误”不想让它显示出来。)..
所以简而言之,我想出了这个解决方案:
- 从数据库中获取所有标签。
- 存储数组 $all。
- 获取用户输入的标签。
- 将它们存储在数组 $user 中
- 建立一个交叉点 $existed
- 在 foreach 循环中
- 查询标签表获取当前标签的id
- 在 posts_has_tags 表中插入 ID。
- 对于另一个数组,我会为每个数组制作另一个
- 将标签插入标签表。
- 获取 insert_id() $id
- 将 $id 插入到 posts_has_tags 表中。
好吧,我知道这有点乱。特别是对于随着时间的推移可能会有点大的数组循环..所以,我问你们:)我是否正确..?有没有更简单的方法..?
谢谢。