Codeigniter调用成员函数Error

时间:2014-04-03 11:11:56

标签: php mysql codeigniter syntax-error

大家好我有一个错误,我只是看不出为什么codeigniter会抛出错误:

控制器:

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

class Management extends CI_Controller {

    public function index(){
        //calls login page view
        $this->managementView();
    }

    public function managementView(){
        //loads course page view
        $users['users'] = $this->management_model->getInfo();
        $this->load->view("header");
        $this->load->view("users", $users);
        $this->load->view("footer");
    }




}

型号:

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

class Management_model extends CI_Model{

    function getInfo(){
        $query = $this->db->get("users"); 
        $result = $query->result_array();
        return $result;
    }

}

我收到以下错误,我似乎无法看到我到底做错了什么 - 我是网络新手,所以不知道这些错误表明了什么:

Fatal error: Call to a member function getInfo() on a non-object

也看到了这个:

Severity: Notice

Message: Undefined property: Management::$management_model

Filename: controllers/management.php

Line Number: 12

我看不出这个问题? - 如果有人能指出它将非常感激。

4 个答案:

答案 0 :(得分:1)

您似乎没有在控制器中设置management_model属性。

我希望在你的控制器中看到类似的东西:

$this->management_model = new Management_model();

答案 1 :(得分:1)

您需要在从模型调用任何函数之前加载模型。 例如:

$this->load->model('management_model');
$users['users'] = $this->management_model->getInfo();

或者您可以通过构造函数加载它。

function __construct() {
  parent::__construct();
  $this->load->model('management_model');
  }
}

您收到的通知清楚地说明了未定义的物业管理模型 您可以看到有关此here

的更多信息

答案 2 :(得分:0)

最初你可以像这样加载模型

$this->load->model('management_model');

然后只有你可以使用该对象来调用函数

您需要更清晰Click

答案 3 :(得分:0)

使用

$this->load->model('management_model');

$users['users'] = $this->management_model->getInfo();