App::uses('MyModel', 'Model'); $model = new MyModel();すればいいんだけど、そのインスタンス化するモデル内でApp::usesを使っていたら、そこがエラーになってしまった。
原因を調べてたところ、モデルを使う他の方法を見つけたのでそちらを試す。
参考:コンポーネントでモデルを使う - by shigemk2
//コンポーネントファイル内 pulic function initialize(Controller $controller){ //コントローラを変数に格納 $this->controller = $controller; } public function myMethod(){ //コントローラ内で使用しているモデルを使う $this->controler->MyModel->find('hoshii-data'); }コントローラとの関連が濃すぎると感じたが、こういうやり方があんだなーと感心しつつ、真似して実装。
使ってみたら、いやー便利!
と思ったところで、上記のページの最後の行を見落としてたことに気づいた。
追記:基本的にコンポーネント内でモデルを使う事は推奨されていないので、極力使わない方向でいく。
とりあえずはApp::usesがエラーになった理由&なんでコンポーネントで使っちゃだめなの?&他の方法を探そう
0 件のコメント:
コメントを投稿