Php 带控制器的Laravel4路由问题
为什么在最后两种情况下,请求没有路由到多个/任何方法?在这种情况下,路由器的逻辑如何?我认为您有两种选择 第一个是在路由中指定控制器操作。请注意,我使用的是Php 带控制器的Laravel4路由问题,php,laravel,laravel-4,Php,Laravel,Laravel 4,为什么在最后两种情况下,请求没有路由到多个/任何方法?在这种情况下,路由器的逻辑如何?我认为您有两种选择 第一个是在路由中指定控制器操作。请注意,我使用的是Route::get()和@action: // My routes Route::controller('api/v1/offer/{id?}', 'restful\OfferController'); Route::controller('api/v1/offer/{id}/qualifiers', 'restful\OfferContr
Route::get()
和@action
:
// My routes
Route::controller('api/v1/offer/{id?}', 'restful\OfferController');
Route::controller('api/v1/offer/{id}/qualifiers', 'restful\OfferController');
Route::controller('api/v1/offer/{id}/dishes', 'restful\OfferController');
Route::controller('api/v1/offer/{id}/choice/multiple', 'restful\OfferController');
Route::controller('api/v1/offer/{id}/choice/any', 'restful\OfferController');
// These works fine to me
'api/v1/offer/{id?}' -> properly routes to OfferController::getIndex
'api/v1/offer/{id}/qualifiers' -> properly routes to OfferController::getQualifiers
'api/v1/offer/{id}/dishes' -> properly routes to OfferController::getDishes
// ... but here i have problems.
'api/v1/offer/{id}/choice/multiple' -> routes to OfferController::choice
'api/v1/offer/{id}/choice/any' -> routes to OfferController::choice
其次,让Laravel将任何api/v1/offer/{id}/choice
连接到OfferController
:
Route::get('api/v1/offer/{id}/choice/multiple', 'restful\OfferController@multiple');
Route::get('api/v1/offer/{id}/choice/any', 'restful\OfferController@any');
如果使用第二个选项,则必须在控制器中定义这样的操作(假设它们是GET
请求):
Route::controller('api/v1/offer/{id}/choice', 'restful\OfferController');
class OfferController extends BaseController {
public function getMultiple()
{
//
}
public function getAny()
{
//
}
}