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()
    {
        //
    }


}