在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;
答案 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;