CakePHP2.x にて Helper から model の呼び方使い方

CakePHP2.x にて Helper から model の呼び方使い方

CakePHP2.x にて Helper(ヘルパー) から model(モデル) の呼び方・使い方を調べてみました。

色々出てきたのですが以下の方法でないと出来なかったので、また迷いそうなので記録しておきます。

Helper(ヘルパー)

<?php
App::uses('AppHelper', 'View/Helper');
class TestHelper extends AppHelper {
 function getTestData($id) {
  $TestModel = ClassRegistry::init('Testmodel');
  $testdata = $TestModel ->findById($id);
  return $testdata ;
 }
}

View(ビュー)

<p><?php echo $this->Test->getTestData($id); ?></p>

Controller(コントローラー)

<?php
class TestController extends AppController {
 public $uses = array('Test');

Model(モデル)

<?php
class Test extends AppModel {
}

 

の例で出来ました。他にも検索したら出てきたのですが、そのやり方では出来なかったです。バージョンが違うのでしょうか・・・

 

そもそも、本来はMVCだとhelperからmodelを呼ぶ事がおかしいという意見も見られましたが、その為の回避方法としてコントローラーにviewに渡す処理を付加したり、DBに項目を増やしたりもやってみようとしたのですが、どうもそっちの方が大変に感じたので、今回のようにhelperからmodelを呼ぶようにしてみました。

MVCにのっとって何か他に良い方法があれば是非知りたいです。

Comments

No comments yet. Why don’t you start the discussion?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です