首页 > 解决方案 > URL Routes Codeigniter 中的数据范围

问题描述

我有一个在 URL 中没有这个数据范围的 API 可以正常工作,但现在我需要在 /orders 之后设置更好的搜索,例如这个例子。

例如:http://localhost/ws/v1/orders?fromDate=2019-01-01&toDate=2019-12-31

控制器:

    public function getOrders_get($id = 0){
    header("Access-Control-Allow-Origin: *");

    // Load Authorization Token Library
    $this->load->library('Authorization_Token');

    /**
     * User Token Validation
     */
    $is_valid_token = $this->authorization_token->validateToken();

    if (!empty($is_valid_token) AND $is_valid_token['status'] === TRUE)
    {
      if (empty($id)){
          $data = $this->db->get("order_view")->result();
      }else{
          $data = $this->db->get_where("order_view", ['id' => $id])->row_array();
      }

      $this->response($data, REST_Controller::HTTP_OK);

    } else {
        $this->response(['status' => FALSE, 'message' => $is_valid_token['message'] ], REST_Controller::HTTP_NOT_FOUND);
    }
    }

标签: phpmysqlapicodeigniter

解决方案


您可以在 sql 中添加一个 between。

$from_date = $_GET['fromDate'];
$to_date = $_GET['toDate'];
...
$this->db->where("date between $from_date and $to_date");

推荐阅读