从许多表中获取信息


Getting info from many tables

我有4个表:question_tags、tags、questions和users。

问题结构为:q_id、q_title、q_content、q_date、q_author(id来自用户表)。

标签结构为:标签_id、标签_name、标签description。

Question_tags结构为:id,tag_id,q_id。

我想列出所有问题,并在每个问题旁边显示标题和标签。到目前为止,我已经想出了这个:

$this->db->join('users', 'q_author = users.id', 'left');
$this->db->order_by('q_id', 'desc');
$this->db->limit($per_page, $offset);
$query = $this->db->get('questions');

但对标签一无所知。(我也在使用CodeIgniter)

附言:每个问题都可以有多个标签。

数据库表标签codeigner-2

如果您想避免在主查询中返回重复的数据,则需要使用不同的查询。因为您有许多与每个问题相关的标签,所以您应该循环查看问题结果,并在每个循环迭代中查询该问题的标签。