Codeigniter RESTful API - 如何获取参数

时间:2014-03-07 14:56:46

标签: php codeigniter rest

我的Codeigniter设置中有这个模型:

function get_all_artists(){

    $this->db->select('artist_id, artist_name');
    $this->db->from('artists');
    return $this->db->get();    
}

如何在Rest_Controller设置中获取这些参数? _get() - 函数将如何显示?

public function artists_get()  
{  
 ???
}

提前致谢

3 个答案:

答案 0 :(得分:1)

尝试

public function artists_get(){  
  $this->load->model('your_model_name');// load model here
  $res = $this->your_model_name->get_all_artists();
  $result = $res->result_array();// get result as associative array
  return json_encode($result);// encode with json
}

使用此库,您需要将方法类型附加到函数名称。 _getGET_postPOST_putPUT_deleteDELETE。例如functionname_get()

答案 1 :(得分:0)

如另一个答案中所述,您需要将结果检索为数组。所以$this->db->get()->result_array(); 要从模型中检索数据:

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

$artists = $this->model_name->get_all_artists();

如果你想将json发送到前端,那么你需要做这样的事情:

$vars['artists'] = json_encode($artists);

$this->_getTemplate('default')->build('artists_page', $vars);

答案 2 :(得分:0)

如果您使用的是REST EXTENSION for CodeIgniter,则必须创建一个对象并调用方法“ Respose”。

public function artists_get() {
  $response = array(
    'status'=>TRUE,
    'data'=>$result, // This can be an object or array
    'obs'=>'all',
  );
  $this->response($response);
}

这是执行此操作的官方方法...而且效果很好!