获取CodeIgniter中论坛主页中每个类别的最新主题

时间:2013-08-28 11:08:05

标签: php database codeigniter

我正在使用CodeIgniter创建一个简单的论坛。

我想在论坛主页中获取每个类别的最新主题。 我想要的是这样 - Forum Index

类别页面可以获得最新主题,但我无法获取主页

我的主页分类列表控制器 -

class Category extends CI_Controller {

    public function index()
    {
        $this->load->model('Category_model');

        $data['categories'] = $this->Category_model->get_all_categories();

        $this->load->view('forums/index', $data);
    }
}

我的模特 -

class Category_model extends CI_Model {
    function get_all_categories()
    {
        $get_categories = $this->db->get('categories');
        return $get_categories->result_array();
    }

}

数据库结构 -

主题

  • topic_id
  • TOPIC_TITLE
  • topic_content
  • topic_cat_id

分类

  • CAT_ID
  • cat_name
  • cat_description

2 个答案:

答案 0 :(得分:0)

你可以尝试这个,希望它有所帮助:

function get_all_categories()
{
    $data           = array();
    $get_categories = $this->db->get('categories');
    $cat            = $get_categories->result_array();
    foreach( $cat as $key=>$each ){
        $rs = $this->db->where('topic_cat_id', $each['cat_id'])->oreder_by('topic_id', 'desc')->get('Topics', 1)->row_array();
        $data[$key]['cat']  = $each;
        $data[$key]['top']  = $rs;
    }
    echo "<pre>";print_r( $data );
    return $data;
}

答案 1 :(得分:0)

要获取每个类别的最新主题,您可以尝试这个:

$this->db->select_max('topic_id');
$this->db->select('topic_title,topic_content,topic_cat_id');
$this->db->group_by("topic_cat_id");
$this->db->order_by("topic_id", "desc");//ordering direction for topic id
$get_categories = $this->db->get('topics');
$result = $get_categories->result_array();