CakePHP3でコントローラーで特定のテーブルの値を取得する方法。(TableRegistryクラスの使い方)

ViewやFormヘルパーなどで、特定のテーブルの値を引き出したい場合に有効的なのが今回の方法となります。

この方法ではあれば、どのコントローラーでも特定のテーブルから値を取得することができます。

まずは書き方としてControllerでTableRegistry クラスを宣言します。

use Cake\ORM\TableRegistry;

続いて初期設定で取得したいテーブルを書いておきます。下記のコードをいれます。

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

この設定だけしておけば、あとは各メソッドで下記の書き方をすればsetしてviewに値を渡すことができます。

$this->set(‘datas’, $this->example ->find(all)

この方法がなかなかわからず苦戦していたのですが、他にももっと良い方法があればぜひ教えてください。

TableRegistryは公式のこっちの情報も参考になりますよっと。

参考リンク:TableRegistry の利用

ではでは。

シェアする

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

フォローする