1

Zend では、通常、クエリからの結果 (文字列または整数) が 1 つしかない場合、結果を受け取るために 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 に答える