最初のモデルクラスから:
class Xxxx_model extends Model
{
function XxxxModel()
{
parent::Model();
$this->load->database();
}
function isInDatabase()
{
// Please ignore the sql query, it's just to show some random sql code with results
11. $result = $this->db->query('SELECT * FROM someTable WHERE ...');
$numberOfRows = $result->num_rows();
...
return $test;
}
}
今コントローラ:
:私はこれを実行するとfunction someLogic()
{
$this->load->model('xxxx_Model', 'xxxxModel'); // not necessary to specify
$this->xxxxModel->isInDatabase();
}
私はエラーを取得します
Severity: Notice --> Undefined property: Xxxx_model::$db .../xxxx_model.php line 11
これはなぜわかりません。私がコントローラにdbコードを入れたら、動作しているように見えますが、これはモデルのこのセットアップでのみ失敗します。コードが道に迷っているところに私の人生を把握するために私がすることはできません...
+1私はPHP4を忘れています。 – afarazit
'$ this-> db'が利用可能で、前述のようにコントローラで作業していれば、実際にはデータベースをロードする必要はありません。 –
私はコンストラクタ名を忘れてしまったとは思わない!それは残酷だ。私はタイムラインのために36時間以上のコーディングをしています。それは間違いなく問題の1つです。私はそれが正しく、私はまた、コンストラクタの名前をリファクタリング逃したと思いドキュメント、に従ってロードするためのモデルの名前を変更する必要がありました。私は、コンストラクタの名前を調整した場合 –