简单代码点火器错误...加载 - >模型上的静默失败

时间:2011-06-20 18:59:58

标签: php codeigniter

抱歉这个愚蠢的问题,但这让我发疯了......

我有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 / display_test时,我看到“加载模型......”但从未“模型加载......”,并且没有错误(只是一个空白的白页)。这里可能会出现什么问题?

1 个答案:

答案 0 :(得分:3)

嗯,首先,你的班级命名是错误的。而且,你必须扩展父模型__construct();

您可以在此处设置回波以跟踪模型的加载:

class Test_model extends CI_Model {

function __construct()
{
  parent::__construct();
  echo 'Model loaded!';  // something like this
}

 function get_all()
{
// your code here
}


}

修改:引用manual

  

班级名称必须包含第一个字母   与其余名称一起使用   小写。确保你的课程   扩展了基础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