3

Cakephp 2 のビューからモデル関数を直接呼び出すことは可能ですか? コントローラーから呼び出して値をビューに設定できることはわかっていますが、ビューで呼び出すことができればもっと良いでしょう...

ありがとう

4

3 に答える 3

7

いいえ、それはフレームワークとコア MVC 原則の要点全体に反します。

やらないでください。

于 2012-11-15T11:36:44.233 に答える
-1

@DavidYellの答えを少し拡張するだけです。ビューからモデルを直接呼び出すことは、実際には「フレームワークとコア MVC 原則の全体」に反しますが、ビューで動的データが必要な場合は、コントローラーへの AJAX 呼び出しでデータをフェッチするだけです。「パターン」は次のとおりです。

  1. コントローラーへの AJAX リクエストを初期化します (fetchData()メソッドとしましょう)。
  2. そのメソッドでリクエストを処理します。
    • 検証
    • レイアウトを「ajax」に設定します(作成する必要があります)
  3. コントローラーから呼び出して、モデルから必要なデータを取得します。

    $this->UsedModel->find();

  4. (たとえば) JSON 応答をレンダリングして、フェッチしたばかりのデータをビューに返します。

これでデータがビューで利用できるようになり、「良い習慣」を守っていたでしょう。ビューでモデルを実際に公開することは非常に悪いことです。しないでください、または.NETに切り替えてください.. :D

于 2012-11-16T07:03:15.320 に答える