首先Model類:
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
我不知道這是爲什麼。如果我把數據庫代碼放在控制器中,它似乎可以工作,但只有在模型中使用此設置纔會失敗。我不能爲我的生命找出其中的代碼是誤入歧途......
+1我一直忘記PHP4。 – afarazit
事實上,如果'$ this-> db'可用並且在控制器中工作,那麼加載數據庫肯定是不需要的,而不會像預期的那樣被模型加載。 –
我不敢相信我錯過了構造函數的名字!這很殘酷。由於時間限制,我一直在進行36小時以上的編碼狂歡。這絕對是問題之一。我不得不改變模型的名稱,以便根據文檔正確加載,我想我錯過了也重構了構造函數的名稱。 –