首页 文章

在Codeigniter Restful服务器中加载模型功能

提问于
浏览
0

最近我开始宽度Codeigniter Restful服务器 . 我使用以下脚本:https://github.com/philsturgeon/codeigniter-restserver .

如果我试图获取我的模型的属性,Rest服务器返回NULL . 在普通的CI控制器中,此功能有效 . 代码是:

require(APPPATH.'/libraries/REST_Controller.php'); 
class Api extends REST_Controller
{
    function user_post()  
    {  
        $username = $this->post('username');
        $password = $this->post('password');
        $company_code = $this->post('company_code');
        $key = $this->post('key');
        $this->CI =& get_instance();

        // Load user model
        $this->load->model('User_model');
        $this->load->model('Api_model');

        // Ip adres remote server
        $server_ip  = $_SERVER['REMOTE_ADDR'];

        // Ophalen data
        $user = $this->User_model->getApiLogin($username,$password);

最后一行的错误:$ user = $ this-> User_model-> getApiLogin($ username,$ password);

通过Curl调用Api:

$key = 'Test';
         $company_code = 'econome';  
         $username = 'jellepals';  
         $password = 'test';  

         $curl_handle = curl_init();  
         curl_setopt($curl_handle, CURLOPT_URL, 'http://jelle.testapiserver.nl/api/user/format/json');
         //curl_setopt($curl_handle, CURLOPT_VERBOSE, true);
         //curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, true);             
         curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);  
         curl_setopt($curl_handle, CURLOPT_POST, 1);  
         curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array(  
             'key' => $key,  
             'username' => $username,
             'password' => $password));  
         $buffer = curl_exec($curl_handle);  
         curl_close($curl_handle);  
         $result = json_decode($buffer);  
         var_dump($result);

有人知道如何在Restserver中调用模型函数吗?谢谢!

2 回答

  • 0

    就像这样

    $this->load->model('category_model');
    $categories = $this->category_model->get_categories_api($language_code);
    

    尝试加载这样的模型(模型的第一个字母很简单)

    $this->load->model('user_model');
        $this->load->model('api_model');
    
  • 0

    我认为问题出在我的数据库连接中 . 有人在db类和名为Db_handler.php的模型之间构建了一个额外的层 . 当从api调用时,这个层显然不起作用 . 通过这一层,我们可以使用多个数据库 . 添加时:

    var $db;
    
        public function __construct() {
            parent::__construct();
            $this->db = $this->load->database($this->config->item('default', 'database'), TRUE);
        }
    

    对我的模型,connexxion工作正常 .

    感谢MDeSilva评论 .

相关问题