我正在开发一个codeigniter项目。
这是我的表格
category
cid cname
5 general
6 science
7 math
books
bid bname
12 first
13 second
14 third
15 fourth
16 fifth
17 sixth
dir
id bid cid
1 12 5
2 13 6
3 14 7
4 15 6
5 16 5
6 17 5
正如您所看到的那样,加入表格很简单,但这就是我需要做的事情。
创建一个函数,它将为我提供类别名称(cname)和该类别中的书籍数量。例如,结果应该像
general 3
science 2
math 1
这是我的WIP模型
function category_details(){
$this->db->order_by('cname','asc');
$query=$this->db->query('Select * from dir join category on category.cid=dir.cid join books on dir.bid=books.bid');
return $query->result_array();
}
非常感谢任何帮助。
答案 0 :(得分:0)
查询应该是这样的,以获得预期的结果
Select category.cname,count(dir.cid) from dir join category on category.cid=dir.cid join books on dir.bid=books.bid group by category.cname
你的功能应该是这样的
function category_details(){
$this->db->order_by('cname','asc');
$query=$this->db->query('Select category.cname,count(dir.cid) from dir join category on category.cid=dir.cid join books on dir.bid=books.bid group by category.cname');
return $query->result_array();
}
您可以参考此代码COUNT / GROUP BY with active record?进行正确的CI查询。