要在 CodeIgniter 4 透過 Query Builder 回傳符合條件的筆數可以使用 countAll() 或 countAllResults(),兩個乍看很類似但有一些差別,先來看 countAll(),用法如下,首先還是要先建立 Query Builder:
$builder->countAll()
countAll() 是計算指定 table 的資料筆數的,像是:
$builder = $this->db->table('user'); echo $builder->countAll(); // Produces an integer, like 25
$builder->countAllResult()
countAllResult() 可以計算符合條件後有多少筆,也就是你在 Query Builder 如果有加上條件例如 where()、like()等,就要使用 countAllResult() 才可以得到有多少筆,像是:
echo $builder->countAllResults(); // Produces an integer, like 25 $builder->like('title', 'match'); $builder->from('my_table'); echo $builder->countAllResults(); // Produces an integer, like 17
而 countAll() 就只會回傳指定 table 所有資料共幾筆,使用的時候可以注意一下。