0

プロジェクトでMVCパターンを使用していますが、プロジェクトにMVCを完全に実装し、抜け穴をなくしたいと考えています。アプリケーションの状況を追跡しました。

  foreach($std_results as $std_result)
   {
      $std_name = ORM::factory('students')->where('id',$std_result->hall_ticket_number);//I want to avoid this     
       //other stuff follows from here
   }

上記のコードはビューからのものです。コントローラーのいくつかの条件に基づいて合計レコードをフェッチし、結果をビューに渡しました。ここでも、取得したレコードに基づいてモデルと通信したいという状況になりました。 。そこでモデルレイヤー関数を呼び出したくありません。どうすればこれを回避できますか。アプリケーションでKohanaフレームワークを使用しています。ご協力いただきありがとうございます。

4

1 に答える 1

1

1)学生向けのモデルクラスが必要です。

class Student extends ORM
{
   public function your_function()
   {
      // Do the DB stuff here
   }
}

2)コントローラーからメソッドを呼び出し、結果をビューに渡します。

// ...
$std_results = ORM::factory('student')->your_function();
// ...
$view->bind('std_results', $std_results);
// ...
于 2012-08-26T08:39:50.193 に答える