有人可以帮助我,我是CI的新手,我不知道我做错了什么。
我有这种控制器
主
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class main extends CI_Controller {
public function index() {
$this->home();
}
public function home() {
$this->load->helper('url');
$this->load->model("get_db");
$data['results']=$this->get_db->getAll();
$this->load->view("view_home", $data);
}
}
模型get_db
就像这样
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class get_db extends CI_Model {
public function getAll() {
$query=$this->db->query("SELECT * from tekstovi");
return $query->result();
}
}
我有这样的奇怪错误
**A PHP Error was encountered
Severity: Notice
Message: Undefined property: main::$db
Filename: core/Model.php
Line Number: 51**
知道要纠正什么吗?
答案 0 :(得分:1)
// Location: application/controllers/main.php
class Main extends CI_Controller {
public function index() {
$this->home();
}
public function home() {
$this->load->model('home_model');
$data['results'] = $this->home_model->getAll();
$this->load->view("view_home", $data);
}
}
// Location: application/models/home_model.php
class Home_model extends CI_Model {
public function getAll() {
$query=$this->db->query("SELECT * from tekstovi");
return $query->result();
}
}
如果你看一下CodeIgniter's User Guide,我觉得这对你很有帮助。
编辑:如果您正在做这些事情并且仍然有问题,请确保未修改核心文件。如果是,您可以重新安装应用程序(下载和更新文件),一切都应该有效。
答案 1 :(得分:1)
您需要将__construct()添加到控制器和模型中。请尝试以下方法。
您的控制器
class main extends CI_Controller
{
function __construct()
{
parent::__construct();
}
public function index()
{
$this->home();
}
public function home()
{
$this->load->helper('url');
$this->load->model("get_db");
$data['results']=$this->get_db->getAll();
$this->load->view("view_home", $data);
}
}
你的模特。
class Get_db extends CI_Model
{
function __construct()
{
parent::__construct();
}
// here is your code
public function getAll() {
$query=$this->db->query("SELECT * from tekstovi");
return $query->result();
}
}
答案 2 :(得分:0)
正如@nevermind所指出的,你需要纠正你的类的命名。
类名必须首字母大写其余部分 名称小写。确保您的类扩展了基础Model类。
文件名将是您的班级名称的小写版本。
我看到的下一个问题是你的模型中没有构造函数。将以下代码添加到模型中。
function __construct() {
parent::__construct();
}
您的模型的函数public
没有问题。