【发布时间】:2012-06-11 20:21:17
【问题描述】:
我一直在尝试为我的帖子设计一个标签系统,但我无法获得我想要的值。相反,我似乎无法理解表连接的逻辑。我试图找到信息来帮助我,但我想我需要有人真正奠定基础。
无论如何,这些是我的表格(缩短帖子表格);
POSTS
post_id
post_title
post_freetext
POST_TAGS
post_id
tag_id
TAGS
tag_id
tag_text
我想要做的是获取连接到单个标签的所有帖子。
我的 CodeIgniter 代码如下所示;
$this->db->select('*');
$this->db->from('posts');
$this->db->join('post_tags', 'post_tags.post_id = posts.post_id' ,'inner');
$this->db->join('tags', 'tags.tag_id = posts.post_id', 'inner');
$this->db->where('tag_text =', $tagid);
$this->db->order_by('posts.post_id', 'desc');
$q = $this->db->get();
在这种情况下,$tagid 是我正在寻找的字符串(读取标签)。
我成功地连接了两个表并获取了帖子,但后来我意识到我无法让用户查看所有标签(因此我需要一个单独的“标签”表)。但似乎无法做到这一点。
任何帮助都将不胜感激,我确实意识到这个问题可能已被多次回答 - 仍然无法理解逻辑。
【问题讨论】:
标签: sql codeigniter join tags