0

我在哪里做错了?我试图解决它,但没有。我做的很好,我是第一次出现这个错误。

 Fatal error: Call to undefined method Team_model::exist_team() in C:\wamp\www\example\application\libraries\teams.php on line 28

这是我的图书馆:

class Teams { // My class

    function __construct()
    {
        $this->ci =& get_instance();
        $this->ci->load->model('team_model');
    }


    function exist_team($team_id) { // this function give me that error

        if ($query_get_info = $this->ci->team_model->exist_team($id_team)) { // line with error
            return $query_get_info[0];
        } else {
            return false;
        }
    }

}

这是我的模型

class Team_model extends CI_Model {

    function exist_team($id_team) { // function exixst team in library
        $this->db->select('*');
        $this->db->from('teams');
        $this->db->where('url',$id_team);
        $query = $this->db->get();
        if ($query->num_rows() == 0) {
            return false;
        } else {
            return $query->result();    
        }
    }
}
4

2 回答 2

2

我能够在干净的 CI 安装上运行它而没有错误。这是我要检查的内容:

  1. 确保模型和库的文件名都是大写的。(Team_model.php 和 Teams.php)。 *注意——Codeigniter 文档声明只有库名称必须大写,但使用 GitHub 上的当前版本,加载失败,除非两个文件都大写。

  2. 在构造函数范围之外声明 CI 变量。这应该不是问题,但值得探索。

    class Teams { 
      private $_ci;
    
      function __construct()
      {
        $this->_ci =& get_instance();
        $this->_ci->load->model('team_model');
      }
    }
    

不相关,但有一个错误:您使用$team_idthen $id_team

function exist_team($team_id) {

if ($query_get_info = $this->ci->team_model->exist_team($id_team)) {
于 2013-08-30T17:44:16.570 回答
1

检查模型名称的拼写错误,如果有任何拼写错误或与原始模型不同的名称显示未定义方法的错误。

于 2015-10-07T19:57:02.513 回答