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()