将参数传递给';。指数';使用Laravel资源路由的控制器功能
我正在使用资源路由,我需要向控制器的将参数传递给';。指数';使用Laravel资源路由的控制器功能,laravel,laravel-routing,Laravel,Laravel Routing,我正在使用资源路由,我需要向控制器的index函数传递一个参数 public function index($id){ // do something with $id } 如果我尝试创建一个表单(比如$user->id=3): 我在html中获得此链接: http://alumni.app/scopes?3这不好,因为它不遵循该命名路由的URI。那么,我应该如何进行呢 讨论:根据当前用户,我正在尝试加载范围的列表。我做了一次独立调查 作用域控制器。资源控制器/路由的索引操作在设计上不采用任何
index
函数传递一个参数
public function index($id){
// do something with $id
}
如果我尝试创建一个表单(比如$user->id=3):
我在html中获得此链接:
http://alumni.app/scopes?3
这不好,因为它不遵循该命名路由的URI。那么,我应该如何进行呢
讨论:根据当前用户,我正在尝试加载范围的列表。我做了一次独立调查
作用域
控制器。资源控制器/路由的索引
操作在设计上不采用任何参数
public function index($id){
// do something with $id
}
对于筛选,我建议您使用查询参数
/scope?userId=1
{{ Form::open(array('route' => array('scopes.index', array('userId' => $user->id)))) }}
另一种方法是(向下滚动一点)
如果将作用域资源嵌套在用户中,则可以获得此类url:
/user/1/scope
您可以创建一个单独的路由:
Route::get('scopes/{id}', ['as' => 'scopes.index', 'uses' => 'ScopeController@index']);
并将其从您的资源路由中排除:
Route::resource('scopes', 'ScopesController', ['except' => ['index']]);
Route::resource的索引路由不带参数。谢谢@lukasgeiter,为了更好的设计,我将嵌套路由。