1

在 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;
4

1 回答 1

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;
于 2013-09-20T23:55:14.860 回答