2013-09-20 100 views
1

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

例如:

我的模型(Zend公司):

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

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

,并在我的CONTROLER(Zend公司):

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

我愿做同样的事情到笨。 .. 这是可能的 ?还是我被迫做:

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

回答

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; 
+0

它不仅做COUNT(*),我想提取像一列:SELECT名字从用户其中userid = 1 – Paul

+0

我明白了。我更新了我的答案。希望这有助于,如果您发现它有帮助,请记住接受答案。 – doitlikejustin