0

コントローラはfoo_modelを拡張しますか、それともモデル全体をロードするだけですか?

ロードしている場合、model(foo_model)クラスの適切なオブジェクトを作成するにはどうすればよいですか。

coz私は次のようなものを使用しました$obj = new foo_model();

私のモデルクラスは次のようになります。

class foo_model extends CI_model{
public $model_variable;

function foo_model(){
    parent::__construct();

    $this->$model_variable = $this->db->query('mysql query returning array of values')->result();

}

}

そして私のコントローラーはこんな感じ

class foo1_controller extends CI_controller{

public function foo1_controller()
{
    //loading basic libraries and helper fn.
}

public function some_controllerfn()
{
    $this->load->model('foo_model');
    $foo_details = new foo_model();
    //print $foo_details as objects
}

}

ここで直面する問題は、コントローラー関数を使用するときにモデルが2回呼び出され、$foo_detailsをオブジェクトとして返すことも必要です。これを行うための適切な方法は何でしょうか、どんな助けもいただければ幸いです。前もって感謝します。

4

1 に答える 1

0

modelメソッドはLoader、渡されたモデル名のモデル オブジェクトをインスタンス化します。

arrayモデル名が渡された場合、関数を再帰的に呼び出します。許可されたパスのリストからモデル ファイルをロードし、モデル オブジェクトをインスタンス化して、コントローラー内の同じ名前のメンバー変数に割り当てます。

于 2012-11-02T06:11:41.603 に答える