входной класс библиотеки не работает в php codeigniter - PullRequest
0 голосов
/ 13 июня 2018

Я работаю с 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 не возвращает никакого значения.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Надеюсь, это поможет вам:

Используйте $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); 
    }
}
0 голосов
/ 13 июня 2018

Пожалуйста, измените ваш код с $id = $this->input->get('id'); на $id = $this->get('id'); Это должно решить вашу проблему.

...