我正在使用codeigniter REST API。在我的API调用中,我试图从$this->input->get('id')
获取值,但不会从get中获取任何值。
public function data_get($id_param = NULL){
$id = $this->input->get('id');
if($id===NULL){
$id = $id_param;
}
if ($id === NULL)
{
$data = $this->Make_model->read($id);
if ($data)
{
$this->response($data, REST_Controller::HTTP_OK);
}
else
{
$this->response([
'status' => FALSE,
'error' => 'No record found'
], REST_Controller::HTTP_NOT_FOUND);
}
}
$data = $this->Make_model->read($id);
if ($data)
{
$this->set_response($data, REST_Controller::HTTP_OK);
}
else
{
$this->set_response([
'status' => FALSE,
'error' => 'Record could not be found'
], REST_Controller::HTTP_NOT_FOUND);
}
}
在上面的代码中,$ id不会返回任何值。
答案 0 :(得分:0)
请将您的代码从$id = $this->input->get('id');
更改为$id = $this->get('id');
这应该可以解决你的问题。
答案 1 :(得分:0)
希望这会对您有所帮助:
使用$this->input->get('id')
或$this->get('id')
两者都可以正常工作
您的data_get
方法应该是这样的:
public function data_get($id_param = NULL)
{
$id = ! empty($id_param) ? $id_param : $this->input->get('id');
/*
u can also use this
$id = ! empty($id_param) ? $id_param : $this->get('id');
*/
if ($id)
{
$data = $this->Make_model->read($id);
if ($data)
{
$this->response($data, REST_Controller::HTTP_OK);
}
else
{
$this->response([
'status' => FALSE,
'error' => 'No record found'
], REST_Controller::HTTP_NOT_FOUND);
}
}
else
{
$this->response([
'status' => FALSE,
'error' => 'No id is found'
], REST_Controller::HTTP_NOT_FOUND);
}
}