database - 从 codeigniter 3 中的关系表中计算项目

标签 database codeigniter relation

我想计算 codeigniter 3 中类别内的每个帖子 我现在的模型是:

public function get_category()
{
    $query = $this->db->get('category');
    return $query->result_array();
}


public function getPostByCategory($id)
{       
    $query= $this->db->select("*")
                                ->from('post')
                                ->join('category','category.id = post.category_id')
                                ->where('post.category_id',$id)
                                ->get();

    return $query->result_array();      
}   

我正在尝试打印 Controller 中 View 中的“存档”菜单

$data['category'] = $this->category_model->get_category();

但这会打印出所有类别标题,包括空的标题。如何仅打印包含帖子的类别?

最佳答案

首先,您需要获取类别并将其与帖子连接,然后获取所有不为空的类别,然后将其分组以查看唯一值。你可以试试这个:

$this->db->select("category.id, category.title")
        ->from('category')
        ->join('post','category.id = post.category_id')
        ->where(array('post.category_id !=' => NULL, 'category.id !=' => NULL))
        ->group_by(array("category.id", "category.title"))
        ->get();

如果您遇到任何错误,请告诉我。谢谢!

关于database - 从 codeigniter 3 中的关系表中计算项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46054143/

相关文章:

python - 错误 psycopg2.OperationalError : fe_sendauth: no password supplied even after postgres authorized connection

php - SQL 查询适用于 phpMyAdmin 但不适用于 Codeigniter

php - 在 codeigniter 中找不到请求的 url 错误

Doctrine ORM 条件关联

python - sqlalchemy 通过另一个关系(声明性)

algorithm - 递推关系的中间步 T(n) = 2T(n/2)+ n/log(n)

mysql - 处理关系数据库中记录的可选字段

database - 我应该容器化我的数据库吗?如果不是,为什么每个人似乎都这样?

api - 无法使用 Vue 和 Codeigniter 进行本地 Api 调用

PHP Mysql - 删除按钮不断删除最新行