我在count方面遇到问题,并发布了一个类别并显示它们。 我想在sidbar中显示类别,并根据帖子数对其进行计数。
例如。
我的帖子表是“电子书” 我的类别表是“类别”
我的模特是:
public function count_item(){
$this->db->select('*');
$this->db->from('categories');
$this->db->join('ebooks', 'categories.cat_id = ebooks.cat_id');
$this->db->where(array('ebooks.cat_id !=' => null, 'categories.cat_id != ' => NULL));
$this->db->group_by(array('categories.cat_id', 'categories.name'));
$query = $this->db->get();
return $query->result_array();
}
我的控制者是:
public function posts() {
$data['posts'] = $this->post_model->get_posts();
$data['categories'] = $this->categories_model->count_item();
$this->load->view('inc/header');
$this->load->view('posts/posts', $data);
$this->load->view('inc/footer');
}
我的看法是:
<div class="panel-body">
<?php foreach ($categories as $category): ?>
<ul class="list-group">
<li class="list-group-item"><a href="#"><?php
echo $category['name'];
?><span class="badge" style="float: left">14</span></a></li>
</ul>
<?php endforeach; ?>
<div class="clearfix"></div>
<center><a href="" class="btn btn-primary">more details</a></center>
</div>
我想在此处显示基于一个类别的帖子数: {HERE}
提前谢谢
答案 0 :(得分:0)
您可以尝试以下方法:
$this->db->select('categories.name as categories_name, COUNT(ebooks.cat_id) as categories_count');
$this->db->from('categories');
$this->db->join('ebooks', 'categories.cat_id = ebooks.cat_id');
$this->db->where(array('ebooks.cat_id !=' => null, 'categories.cat_id != ' => NULL));
$this->db->group_by('ebooks.cat_id');
$query = $this->db->get();
return $query->result_array();