2016-10-11 13 views
0

私は 'devices'というMYSQLテーブルを持っています。私はビン/ケーキをうまくやった。実際、私は自動で作成されたDevicesController.phpを完全に動作させています。しかし、私はどのようにテーブル内の行数を把握することはできません。私が試した:CakePHP 3.xでは、MySqlテーブルの行数をどのように数えることができますか?

$conn = ConnectionManager::get('default'); 
$numRows = $conn->execute('select count(*) from devices'); 

$this->DeviceSetups = TableRegistry::get('Devices'); 
$numRows = $this->Devices->query('select count(*) from devices'); // both like this 
$numRows = $this->Devices->query('select count(*) from devices')->execute(); // and like this 

とするmysql_query(スルーゴーイング

$this->DeviceSetups = TableRegistry::get('Devices'); 
$numRows = $this->Devices->find('count'); 

を)私はすでにセットアップ内のすべてのアクセス情報を持っているので、本当に良いアイデアではありませんCakePHP用のapp.phpを使用します。私は動作しなかったAnyModelを使って何かを試しました。

前者2つの試みは、テーブル内の行の数とケーキ\データベース\ステートメントの\ MysqlStatementない整数を戻します。私はthisと答えてthisと答えて、CakePHPのドキュメントを読んだ。どのようにテーブルをカウントアップするか、生のMy SQLコマンド文字列を実行して結果にアクセスする方法を教えてくれないようです。

+0

あなたのdbテーブルが 'devices'呼び出された場合には、テーブルクラス名/エイリアスは、通常' Devices'、ない 'DeviceSetups'する必要があります! 'find() - > count()'とは別に、 'count'ファインダはありません。 ** http://book.cakephp.org/3.0/en/orm/query-builder.html#returning-the-total-count-of-records** | ** http://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html#getting-a-count-of-results** – ndm

+0

Thx、はい、それはタイプミスでした。自分の開発が独自のものであることを確かめるために、私はいつもいくつかのことを変えます。この場合、私はそれを変更の中間に並べていました。 –

答えて

0

テーブルにカウントしたい場合は、以下のようにする必要があります。

$count = $this->find()->count(); 
    echo $count; 
関連する問題