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?


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


    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.

    解决 无用
    打赏 举报

相关推荐 更多相似问题