2017-07-02 4 views
0

私はすべての拡張機能の名前を持つ配列を持っていましたが、その拡張機能に対応するモデルをロードしてから、installメソッドを呼び出します。その後、モデルvaraiblesを使用してCIモデルを呼び出す方法

foreach ($extensions as $extension) { 
    $load_model = 'Model_'. $extension; 
    $this->load->model($load_model);   
    $this->$load_model->install(); 
} 

答えて

1

試してみてください。それは次のようになります。 、異なる変数と呼び出しを持つことができます。

1
foreach ($extensions as $extension) { 
    $model = 'Model_'. $extension; // save in separate var 
    $this->load->model($model); 
    $this->$model->install(); 
} 
私が試してみました

が、同時に連結して割り当てることはできませんをロードするために、その変数を使用して変数にモデル名を割り当てる

foreach ($extensions as $extension) { 
    $this->load->model('Model_'. $extension); 
    $this->model_$extension->install(); //how do I achieve this? 
} 
+0

@ssd解決済みかどうかは分かりましたか? –

+0

これらのモデルを他の場所で参照する場合は、上で定義したCaseに固執する必要があることに注意してください。上記のModel_xxxは$ this-> Model_xxx-> method()を使用する必要があります。 model_を使用してモデル文字列名を構築する場合は、小文字の$ this-> model_xxx-> method()を使用できます。 – TimBrownlaw

+0

@TimBrownlawこれに言及してくれてありがとう。私は自分のコードで小文字を使用していましたが、質問のコードを貼り付けました。 –

関連する問題