简单代码点火器错误..加载时无声故障->;模型


Simple Code Igniter error...silent failure on load->model

很抱歉问了这个愚蠢的问题,但这让我疯了。。。

我有test_framework.php,如下所示:

<?php
  class Test_framework extends CI_Controller{
    function display_test(){
      echo "loading model...";
      $this -> load -> model('test_model');
      echo "model loaded...";
    }
  }
?>

和test_model.php,如下所示:

<?php
class Test_model extends Model {
  function get_all(){
    $q = $this -> db -> query("SELECT * FROM users");
    foreach($q -> result() as $row)
    {
        $data[] = $row;
    }
    return $data;
  }
} 
?>    

当我转到我的index.php/test_framework/diisplay_test时,我看到"正在加载模型…",但从未看到"模型已加载…",并且没有错误(只是一个空白的白色页面)。这里可能出了什么问题??

首先,您的类命名是错误的。此外,您必须扩展父模型__construct();

在这里,您可以设置一个回声来跟踪模型的加载:

class Test_model extends CI_Model {
function __construct()
{
  parent::__construct();
  echo 'Model loaded!';  // something like this
}
 function get_all()
{
// your code here
}

}

编辑:引用手册:

类名必须有第一个字母用名称的其余部分大写小写字母。确保你的课扩展了基本Model类。

基本原型(来自手册)是:

class Model_name extends CI_Model {
    function __construct()
    {
        parent::__construct();
    }
}

如果你想记录控制器和模型的初始化等,而不是让它们在你的页面上回声,你可以在application/config.php中启用日志记录

$config['log_threshold'] = 1;
//  0 = Disables logging, Error logging TURNED OFF
//  1 = Error Messages (including PHP errors)
//  2 = Debug Messages
//  3 = Informational Messages
//  4 = All Messages