2017-02-12 70 views
0

我想通过Postman为我的REST API加载所有行。如何加载codeigniter-base-model中的所有行? REST api

我使用codeigniter-base-model MY_Model.php。

https://github.com/jamierumbelow/codeigniter-base-model

这是我的代码目前看起来像两个在我的控制器/型号:

控制器(api_news.php)

class Api_News extends REST_Controller { 

function __construct() 
{ 
    parent::__construct(); 
} 

function index_get() 
{ 
    $id = $this->uri->segment(3); 
    $this->load->model('News_model'); 
    $news = $this->News_model->get_by(array('id' => $id)); 

    if(isset($news['id'])) { 
     $this->response(array(
      'message' => 'success', 
      'status' => 'true', 
      'data' => $news)); 
    } else { 
     $this->response(array(
      'message' => 'unsuccess', 
      'status' => 'false')); 
    } 
} 
} 

模型(news_model.php )

class News_model extends MY_Model{ 

protected $_table = 'news'; 
protected $primary_key = 'id'; 
protected $return_type = 'array'; 

} 

此刻,如果我访问:

本地主机/ my_api/api_news/ID/1,2,3,等...

我可以通过其个人ID访问任何记录,并将其显示这很好。

,但我也希望能够通过这样做是为了看到所有行:

本地主机/ my_api/api_news/ID/

,并有显示一次所有行。

但我不知道如何做到这一点...如果我尝试,我会得到一个不成功/错误。

你能告诉我怎么样?我是PHP的新手,我很感激任何帮助。

非常感谢你!

+0

你想告诉我们这些尝试,为什么他们不成功吗? –

回答

0

请在下面的控制器功能的一些变化 -

function index_get(){ 
    $id = $this->uri->segment(3); 
    $this->load->model('News_model'); 

    // pass $id to model 
    $news = $this->News_model->get_by($id); 

    if(!empty($news)) { 
     $this->response(array(
      'message' => 'success', 
      'status' => 'true', 
      'data' => $news)); 
    } else { 
     $this->response(array(
      'message' => 'unsuccess', 
      'status' => 'false')); 
    } 

}

而且在你的模型做出ID参数可选,然后检查,如果ID是得到ID数据传递否则返回所有下面的数据 -

// $id variable is optional here 
function get_by($id = '') { 

    if ($id == '') { 
     $news = $this->db->get('news'); 
    } 
    else { 
     $news = $this->db->get_where('news', array('id' => $id)); 
    } 

    // return data to controller 
    return $news->result(); 

} 

所以,如果你在API输入ID,然后在数据将基于该ID,否则所有数据将被退回。

+0

谢谢你,我正在努力工作。 –

+0

我很高兴它为你工作。请接受此答案,以便其他用户了解此解决方案的工作原理。 –

相关问题