CodeIgniter Active Record - 获取返回的行数

Zim*_*Zim 64 activerecord codeigniter

我对CodeIgniter和Active Record非常陌生,我知道如何在普通的SQL中做得很好,但我正在努力学习.

如何从我的某个表中选择一些数据,然后使用CodeIgniters Active Record类计算返回的行数?

谢谢,汤姆.

Res*_*uum 121

看看这里的结果函数:

$this->db->from('yourtable');
[... more active record code ...]
$query = $this->db->get();
$rowcount = $query->num_rows();
Run Code Online (Sandbox Code Playgroud)


Zac*_*ack 38

并且,如果您只想获取表中所有行的计数

$table_row_count = $this->db->count_all('table_name');
Run Code Online (Sandbox Code Playgroud)


Yur*_*nov 32

这适用于你的模型:

public function count_news_by_category($cat)
{
    return $this->db
        ->where('category', $cat)
        ->where('is_enabled', 1)
        ->count_all_results('news');
}
Run Code Online (Sandbox Code Playgroud)

这是我当前项目的一个例子.

根据基准测试,此查询的工作速度比执行以下操作的速度快:

$this->db->select('*')->from('news')->where(...); 
$q = $this->db->get(); 
return $q->num_rows();
Run Code Online (Sandbox Code Playgroud)


pba*_*ney 16

如果您只需要查询中的行数而不需要实际的行数据,请使用 count_all_results

echo $this->db
       ->where('active',1)
       ->count_all_results('table_name');
Run Code Online (Sandbox Code Playgroud)


小智 9

只需要阅读文档的儿子!

$query->num_rows();
Run Code Online (Sandbox Code Playgroud)