コードネイター1.7.3を使用しているフェローコーダーは、別のモデルのコードからモデルをロードできますか?私は理論的で実用的な多くの記事を読んだが、最終的な答えはなかった。別のモデルからコードシナーモデルをロードして使用する
私は別のモデルで操作を実行したい機能を持つモデルを持っています。コードは次のようになります。
1: $this->load->model('decision_model');
2: $this->decision_model->hello_decision();
line 1が動作します。次のように2行目は失敗します。私はシンプル作成しようとしたモデル/ account_model.php
:未定義のプロパティ:Account_model :: $ decision_model
ファイル名
メッセージに注意してください:
A PHPエラーが
重要度を発生しましたダムのモデル、関数名の変更、モデルのロード時にエイリアスを与えるなど... no nouck
だから、理論は別として、このdoableですか?
ありがとうございます。あなただけの別から直接、一つのモデルを呼び出すことができCI 2.0では
class User_model extends Model
{
function get_something()
{
$CI =& get_instance();
$CI->load->model('profile_model');
return $CI->profile_model->get_another_thing();
}
}
通常、モデルが別のモデルを参照しているとき(RDBMの外部キーを使用して)モデルを作成したいとします。この場合、元のモデルはリンクされたモデルを参照する 'decision_model'属性を持ちます。あなたがそのようなものを持っていなければ、モデルはリンクされておらず、最初のモデルから '$ this-> load'を使ってロードされたモデルを有用なものにリンクさせません。 – Guss
CIをベースにしたKohanaフレームワークを見てみましょうが、このようなことが可能です。 –
@Gussでは、2つのモデルがリンクされていると思われます。そのため、私は2番目のモデルにアクセスしようとしています。元のモデルで参照(クラス属性を参照していると仮定しています)がある場合、Decisionモデルを参照するためにどのように初期化しますか?ありがとう – djeetee