为什么我的codeigniter模型不会加载?

Ami*_*ole 0 model codeigniter loading

这是我的模特:

   <?php

   class Dbtest extends CI_Model {

    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }


    function getAll() {
        parent::Model();
        $this->db->select('title, content');
        $this->db->from('posts');
        $this->db->where('post_id', 1);

        $q = $this->db->get();

        if($q->num_rows() > 0) {
            foreach ($q->result() as $row) {
                $data[] = $row;
            }
            return $data;
        }
    }
   }
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    class Dbtest extends CI_Controller {

    function index() {
        $this->load->model('dbtest');
        $data['rows'] = $this->dbtest->getAll();

        $this->load->view('dbtest', $data); 
    }
   }
Run Code Online (Sandbox Code Playgroud)

这是我的看法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

   <html>
      <head>
      <title></title>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>

     <body>
    <div id="container">
        <p>My view has been loaded</p>
        <?php foreach($rows as $r) : ?>

        <h1><?php echo $r->title; ?></h1>
        <div><?php echo $r->content; ?></div>

        <?php endforeach; ?>
        </div>
     </body>
   </html>
Run Code Online (Sandbox Code Playgroud)

我一直收到500服务器错误.我怎么可能做错了.我已经自动加载了数据库库.请帮助一个codeigniter新手尝试学习这个伟大的框架.

jon*_*ohn 6

function getAll() {
    parent::Model();   //<-------------------Remove this line
    $this->db->select('title, content');
    $this->db->from('posts');
Run Code Online (Sandbox Code Playgroud)

快速浏览一下,为什么这条线路在那里?

它是一个php4构造函数调用旧版本的Model基类,不再存在..

删除并重试.

编辑

此外,您不能将模型和Controller命名为同名,它们具有命名空间冲突.

调用模型Dbtest_model或其他东西并以这种方式使用它.

而且,这是不必要的

    if($q->num_rows() > 0) {
        foreach ($q->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
Run Code Online (Sandbox Code Playgroud)

$q->result() 返回一个数组,无需循环并重建......只需这样做......

    if($q->num_rows() > 0) {
        return $q->result();
    }
Run Code Online (Sandbox Code Playgroud)