2014-02-03 4 views
0

У меня есть база данных mysql со столом, который содержит несколько марок автомобилей. Мне нужно создать API для всех, так что сейчас у меня есть что-то вроде этого:Codeigniter RESTful API

<?php 

require(APPPATH.'libraries/REST_Controller.php'); 

class carcollection extends REST_Controller{ 

// AUDI 
public function audi_get() 
{ 
    $this->load->database(); 
    $sql = "SELECT car_id, car_brand, car_model FROM `cars` WHERE car_brand LIKE 'Audi' LIMIT 10"; 
    $query = $this->db->query($sql); 
    $data = $query->result(); 

} 

// BMW 
public function bmw_get() 
{ 
    $this->load->database(); 
    $sql = "SELECT car_id, car_brand, car_model FROM `cars` WHERE car_brand LIKE 'BMW' LIMIT 10"; 
    $query = $this->db->query($sql); 
    $data = $query->result(); 

} 

...etc..etc. 

Это прекрасно работает до сих пор, когда я, например, ввести http://localhost/myprojects/cars/index.php/api/carcollection/audi мою консоль/браузер дает мне правильные данные в формате JSON. Когда я вхожу http://localhost/myprojects/cars/index.php/api/carcollection/ - я получаю ошибку {"status":false,"error":"Unknown method."} - но я хотел бы знать, как я мог это сделать, чтобы получить все данные за один раз? с URL, показанной ранее, без изменения в основном запросы SQL ...

Любая помощь ценится ...

ответ

1

Вам необходимо включить индекс маршрута:

public function index_get() { 
    $this->load->database(); 
    $sql = "SELECT car_id, car_brand, car_model FROM `cars` LIMIT 10"; 
    $query = $this->db->query($sql); 
    $data = $query->result(); 
} 
Смежные вопросы