CodeIgniter中的fetchOne

时间:2013-09-20 23:10:58

标签: php codeigniter

在Zend中,当我的查询只有一个结果(字符串或整数)时,我通常使用fetchOne来接收我的结果。

例如:

我的模特(Zend):

$query = "
SELECT COUNT(*)
FROM user
";

return $this->getAdapter()->fetchOne($query, null, Zend_Db::FETCH_OBJ);

和我的控制器(Zend):

$table = new Application_Model_TUser;
$number = $table->nUser();
echo $number; // return 5

我想对CodeIgniter做同样的事情......这可能吗?或者我被迫做了:

return $this->db->query("SELECT COUNT(*) AS Nb FROM user")->row()->Nb;

1 个答案:

答案 0 :(得分:0)

你可以这样做:

return $this->db->count_all('user'); // returns int

或者如果您想添加条件,请使用:

$this->db->from('user');
$this->db->where($conditions);
return $this->db->count_all_results(); // returns int

更新:根据您的评论,最好将其写为您的问题:

return $this->db->query("SELECT COUNT(*) AS Nb FROM user")->row()->Nb;

或者不使用query(),更多的是“活跃记录”方式:

$where = array('userID'=>'1');
$query = $this->db->get_where('user', $where);
$row = $query->row();
return $row->name;