我的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()
{
???
}
提前致谢
答案 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
}
使用此库,您需要将方法类型附加到函数名称。 _get
为GET
,_post
为POST
,_put
为PUT
,_delete
为DELETE
。例如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);
}
这是执行此操作的官方方法...而且效果很好!