2013-09-20 99 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