CakePHPではモデルはどこからでも呼び出せますが、やり方が二つあるので好きなほうで、やるのよいと思います。
目次
loadModel
よく見る読み込み方法です。
Controllerで使えます。
CakePHP4の公式であまり見ない気がします。
$this->loadModel('Articles');
$this->Articles->save($entity);
ModelAwareTrait
実はloadModelはController以外でも使えて、
classにtraitすることで使えるようになります。
use ModelAwareTrait
TableRegistry::getTableLocator()->get
最近のCakeさんはこれを押している気がする
$articlesTable = TableRegistry::getTableLocator()->get('Articles');
$articlesTable->save($entity);
まとめ
loadmodelの場合は強制的に「$this->モデル名」に入ってしまうけど、
「TableRegistry::getTableLocator()->get」は変数に入れられるんですよね。とりあえずは好みの問題かな、個人的には「TableRegistry::getTableLocator()->get」は覚えられないです。。。