Codeigniter:调用未定义的函数(模型)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeigniter:调用未定义的函数(模型)相关的知识,希望对你有一定的参考价值。

我收到以下错误:

  • 致命错误:在第18行的... application controllers restserver.php中调用未定义的函数getAll()
  • 遇到PHP错误
  • 严重性:错误
  • 消息:调用未定义的函数get()
  • 文件名:controllers / restserver.php
  • 行号:24
  • 回溯:

我有以下Controller:restserver.php

defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH . '/libraries/REST_Controller.php';

class Restserver extends REST_Controller {

    public function __construct() {
        parent::__construct();

        $this->load->database();
        $this->load->helper('url');
    }

    public function appproviders_get() {
        $this->load->model('appproviders_model');
        $this->response($this->appproviders_model>getAll());
   }

    public function appprovider_get() {
        $data = array('returned: '. $this->get('id'));
        $this->load->model('appproviders_model');
        $this->response($this->appproviders_model>get($data));
   }
}

以下模型:appproviders_model.php

class appproviders_model extends CI_Model {

function __construct(){

    parent::__construct();//Call the model constructor
}

function get($id = 0)
{
    $this -> db -> select('appprovider.*');
    $this -> db -> from('appprovider');
    $this -> db -> join('appusers','appprovider.userID = appusers.id','left');
    $this -> db -> where('appprovider.id', $id);

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

    if($query->num_rows()>0){
        $row = $query->row();
        return $row;
    } else {
        return NULL;
    }
}

function getAll()
{
    $this -> db -> select('appprovider.*, appusers.name as name');
    $this -> db -> from('appprovider');
    $this -> db -> join('appusers','appprovider.userID = appusers.id','left');
    $this -> db -> where('appprovider.status', 1);

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

    if($query->num_rows()>0){
        $row = $query->row();
        return $row;
    } else {
        return NULL;
    }
    }
}

我正在为CodeIgniter使用以下RESTful服务器实现:

https://github.com/chriskacerguis/codeigniter-restserver

我从浏览器打电话时知道为什么:

.../restserver/appprovider?id=1;format=json

要么

.../restserver/appproviders?format=json

我收到帖子开头详细说明的错误?它确实检测到模型而不是其功能。

必须是这么简单的事情,但我找不到错误,我会疯了......

答案

试试这个,

你应该更换

$this->response($this->appproviders_model>getAll());

$this->response($this->appproviders_model->getAll());

以上是关于Codeigniter:调用未定义的函数(模型)的主要内容,如果未能解决你的问题,请参考以下文章

调用未定义函数 codeigniter\locale_set_default() 时出现 codeigniter 错误

Codeigniter“调用未定义的函数mysqli_init()”错误

在 Codeigniter 中调用扩展辅助函数时未定义的函数

Codeigniter 错误:调用未定义的函数 mysql_pconnect()

Codeigniter:对未定义函数 mysqli_init() 的致命错误调用

在Codeigniter中调用未定义的方法CI_DB_odbc_driver :: limit()