dqp99585 2016-05-09 02:10
浏览 100
已采纳

Laravel RESTful控制器添加参数来创建

I am trying to use Laravel 5.2's RESTful resource controllers. However, when moving from my index to create, I would like to pass a parameter as the create page should be partially filled in.

edit The form that will be 'created' will have populated fields from the database already. So the create should take the id from the user that is clicked in the index.

My temporary solution:

Route::get('consultation/{id}', 'ConsultationController@create');
Route::resource('consultation', 'ConsultationController', ['except' => ['create']]);

Is there a way to add this to an options array in the same line as resource?

Thanks

Edit: I suppose in this case, my store would also need the same {id} parameter.

  • 写回答

1条回答 默认 最新

  • doskmc7870 2016-05-09 02:39
    关注

    I was also curious about that but I think that the Laravel Documentation is pretty clear about this:

    If it becomes necessary to add additional routes to a resource controller beyond the default resource routes, you should define those routes before your call to Route::resource

    And they add the following, meaning for me that if you want to override a defined route, you just need to put the definition on top of the Route::resource() definition.

    otherwise, the routes defined by the resource method may unintentionally take precedence over your supplemental routes

    EDIT

    After better understanding the question, I would let the restful controller as is, and create a new route like /user/{user-id}/consultations/create that is much more "restful" like.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?