0

Zendフレームワークは初めてです

クエリの行数を計算したい

これは私のコードです:

$nm = new Zend_Db_Table('emp');
$row = $nm->fetchRow($nm->select()->where('id= ?', $a));  
4

3 に答える 3

0

Zend Framework 1 では、count()クエリの最後に関数を使用して、テーブル内の合計行数を取得できます。

例えば:

$row = $nm->fetchAll($nm->select()->where('id = ?', $a ))->count();

注: これは、テーブル内の行の総数のみを返します。出力は整数です。

于 2013-12-05T06:36:26.550 に答える
0

はい、この方法で、SQLクエリによって返される行の総数を取得できます。

$select = $this->select();

$select->where('id= ?', $a);

$result=$this->fetchAll($select);

if(empty($result)){
    return false;
}else{
        echo "Total number of users : -> ".count($result->toArray());
} 

もっとお手伝いできることがあれば教えてください。

于 2013-05-06T05:43:58.023 に答える
0

主キーによってレコードの存在をテストしている場合は、結果を使用$nm->find($a)して確認できます。

結果セットが小さいと予想される場合は、次のことができます

$nm->fetchAll($nm->select()->where("id = ?", $a);

結果セットが大きくなることが予想され、実際に必要なのはカウントだけである場合、フィールドのカウントを要求するクエリを作成することは、クエリが大量のサーバー メモリを消費しないようにするためにおそらく最も理にかなっています。

$row = $nm->getAdapter()->fetchRow("select count(*) as num_rows".
       " from ".$nm->info(Zend_Db_Table_Row_Abstract::NAME).
       " where ".$nm->getAdapter()->quoteInto("id = ?", $a));
echo "Users ".$row["num_rows"];
于 2013-05-09T04:04:23.890 に答える