【发布时间】:2010-07-29 13:16:10
【问题描述】:
当我开始尝试实现这一点时,我陷入了困境。
一些业务规则
1 个帖子可以有多个标签。 1个标签可以有很多帖子
数据库看起来像。
- 帖子(ID、标题、正文...)
- Posts_Tags(帖子、标签)
- 标签(id、tag、...)
当我插入 - 直截了当
- 标签将来自用户输入的逗号分隔值
-
explode($tags)获取单个标签 - foreach $标签
- 检查标签是否存在
- 如果是,获取 id
- 如果没有,插入标签并获取 id
- 插入带有标签的帖子
我想知道这是否是最好的方法?如果标签存在,我可以取消循环到 chk 吗?或将其简化为 1 个查询?
更新帖子,有点难
我如何检查用户是否更新了任何标签。另一个循环?但这次会有一些变化(斜体)
explode($tags)获取单个标签- foreach $标签
- 检查这篇文章是否被标记了这个标签
- 如果没有,
- 标签是否存在?
- 是的,获取 ID
- 不,插入并获取 id
- 标签是否存在?
- 如果是,获取 id
- 用标签更新帖子
嗯,...更新比较混乱,你将如何实现?
我正在使用 PHP 5.3、Zend Framework 1.10、Doctrine 2
【问题讨论】: