0

これは私の問題です。私は codeigniter を使用しています。これが私の構造です。2つのファイルに2つのクラスがあります

class Model_setup extends CI_Model 
{
    //functions

    // an update function
    public function update()
    {
        // update stuff
    }
}

// OTHER FILE

class Tests extends Model_setup
{
    // other functions....

    // a totally different update function
    public function update()
    {
        // update a specific set of stuff
    }
}

これら 2 つの個別の更新関数を参照できるかどうか、またどのように参照できるかを知りたいです。これら 2 つとは別のコントローラーで、これら 2Places_Controllerつのクラス メソッドの違いをどのように見分け、2 つの更新のどちらか一方のみを使用していることをどのように確認しますか? 事前に助けてくれてありがとう。

4

2 に答える 2

1

両方のモデルをロードしていると仮定すると、それらを名前で参照するだけです。

$this->Model_setup->update();

その最初のメソッドを参照しますが、

$this->Tests->update();

2番目のものを参照します。

于 2012-11-12T23:53:41.213 に答える
1

それで、私はこれを解決する方法について友人から啓発を受けました。これは、正しく動作させるためにコードイグナイター フレームワークを必要としません。以下は正しく機能します。

class Model_setup extends CI_Model 
{
    //functions

    // an update function
    public function update()
    {
        // update stuff
    }
}

// OTHER FILE

class Tests extends Model_setup
{
    // other functions....

    // a reference function to the parent function
    public function parent_update($x)
    {
        // update a specific set of stuff
        parent::update($x);
    }

    // a totally different update function
    public function update()
    {
        // update stuff
    }
}

外の世界から、フレームワーク内の別のコントローラーを言って、すべてがロードされたら次を呼び出すことができます。$this->tests_model->parent_update($x)親バージョンを呼び出したいときと、Tests モデル$this->tests_model->updateの関数を呼び出したいとき。updateこれはうまくいき、私はこれをテストしました。

于 2012-11-13T19:46:47.407 に答える