0

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

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

分类页面可以获取最新的主题,但是我无法获取主页

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

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_cat_id

类别

  • cat_id
  • 猫名
  • 猫描述
4

2 回答 2

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;
}
于 2013-08-28T11:33:05.103 回答
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();
于 2013-08-29T21:37:15.747 回答