在查询中返回类别和论坛?

时间:2012-03-04 15:34:54

标签: php sql codeigniter

我目前正在CodeIgniter中开发一个简单的论坛来处理PHP,我遇到了一个问题,虽然是基本的。

我的论坛索引由类别组成,每个类别都分配了几个论坛。我想显示每个类别的标题,然后返回下面的每个论坛。

目前我的MODEL返回数据:

function get_top_level_forums()

{

    $this->db->select('id, title');
    $this->db->from('forum_category');
    $query = $this->db->get();

    if ($query->num_rows() > 0)

    {

        $categories = $query->result();

        foreach($categories as $category)

        {

            $this->db->select('id, title, description');
            $this->db->from('forum');
            $this->db->where('parent_id', 0);
            $this->db->where('category_id', $category->id);
            $query = $this->db->get();

            $forums = $query->result();

        }

        return $categories;

    }

}

我正在努力研究如何在单个数组中返回所有数据。我知道这是一个菜鸟问题,但我已经戳了一个小时,在隧道尽头看不到任何光线!

我知道如何使用CONTROLLER和VIEW中的数据。我只是坚持使用MODEL部分。

感谢。

:)

2 个答案:

答案 0 :(得分:0)

将内部查询的结果放入循环内的数组中,然后返回该数组。

答案 1 :(得分:0)

而不是使用变量来存储结果,而是使用数组

$forums[] = $query->result();

完整示例:

$forums = array();
foreach($categories as $category)

        {

            $this->db->select('id, title, description');
            $this->db->from('forum');
            $this->db->where('parent_id', 0);
            $this->db->where('category_id', $category->id);
            $query = $this->db->get();

            $forums[] = $query->result();

        }
        //$forums now contains all the query results

更新

要访问您可以使用的变量

$forums[$forumindex][0] -> id;