CakePHP3で特定のテーブルから値を検索して取得数を調べる方法。

今回はCakePHP3で、特定のテーブルと要素を指定して、さらにどれだけの数を取得できたかを調べます。

例のごとく、TableRegistry クラスを宣言しなければいけないので、まずはControllerに下記を書きます。

use Cake\ORM\TableRegistry;

続いて初期設定で取得したいテーブルを下記のように書きます。

public function initialize()
{
parent::initialize();
$this->table_name = TableRegistry::get(‘テーブル名’);
}

あとは取得したい要素をfindで調べまして。

$query = $this->table_name->find()->where([‘id’ => $id]);

もしこの時に一つだけの要素ではなく、複数の要素で調べたい場合は下記のように書きます。

$query = $this->table_name->find()->where([‘id’ => $id],’value’ => $value]);

最後はそれをカウントして変数に格納すればOK。

$number = $query->count();

リダイレクト制御などやif文などでも多用できるやり方なので覚えておくと吉です。

ではでは。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする