2013-03-21 2 views
0

У меня возникли проблемы с тем, чтобы мой контроллер прослушал запросы DELETE. Когда я отправляю запрос DELETE/api/players/1, я получаю исключение NotFoundHttpException. Вот мой routes.phpМетод контроллера RESTful Laravel не найден

Route::group(array('prefix' => 'api'), function() { 

    Route::controller('matches', 'MatchController'); 
    Route::controller('players', 'PlayerController'); 
    Route::controller('auth', 'AuthController'); 

}); 

Мои PlayerController

class PlayerController extends BaseController { 

    public function getIndex() { 
     // do something... this works 
    } 

    public function postIndex() { 
     // do something... this works 
    } 

    public function deleteIndex() { 
     // works when I send a DELETE request to /api/players 
    } 

    public function delete($id = null) { 
     // doesn't work! 
    } 
} 

Я предполагаю, что не хватает какой-то секретное слово или что-то ... Я просто не знаю, как поймать УДАЛИТЬ запрос с id. Что я делаю не так?

+0

Кстати: http://area51.stackexchange.com/proposals/46607/laravel – Kriem

ответ

1

Хорошо ... Итак, теперь я изменил свой контроллер на контроллер ресурсов ... Я не совсем уверен, что это правильный способ сделать это, но он работает!

Новый routes.php:

Route::group(array('prefix' => 'api'), function() { 

    Route::resource('matches', 'MatchController'); 
    Route::resource('players', 'PlayerController'); 
    Route::resource('auth', 'AuthController'); 

}); 

PlayerController.php:

class PlayerController extends BaseController { 

    public function index() { 
     // GET /api/players 
    } 

    public function store() { 
     // POST /api/players 
    } 

    public function destroy($id) { 
     // DELETE /api/players/{id} 
    } 
} 
+0

Это именно так, сделать это. – ridecar2

Смежные вопросы