コントローラーでテーブルを扱うときは
$this->loadModel('Billings'); $this->Billings->fuga();
などと使えるがコンポーネントではloadModelがそのまま使えない。
$billings_table = TableLocator->get('Billings'); $billings_table->fuga();
などとすればテーブルを使うことができる。 けどloadModelもModelAwareTraitをuseすれば使えるらしいのでメモする。
<?php namespace App\Controller\Component; use Cake\Controller\Component; use Cake\Datasource\ModelAwareTrait; class HugaComponent extends Component { // loadModel()を使うために読み込む use ModelAwareTrait; public function fuga() { $this->loadModel('Billings'); $this->Billings->fuga(); } }