Laravel 发送值和 ID 的表单操作
Laravel form action sending values and id
允许管理员更改用户或员工角色的提交表单,显示错误 Missing required parameter for [Route: updateRolePermission] [URI: admin/edit-role-permission/{id}] [Missing parameter: id]
我为这个问题奋斗了很多小时,大家可以帮忙谢谢!!!!!!
<form action="{{ route('updateRolePermission'), ['id' =>$user->id] }}" method="POST">
@csrf
<select name="roles">
<option value="user">User</option>
<option value="staff">Staff</option>
</select>
<input type="submit">
</form>
Route::group(['prefix'=>'admin', 'middleware'=>['isAdmin','auth']], function(){
Route::get('dashboard', [AdminController::class, 'index'])->name('admin.dashboard');
Route::get('role-permission', [AdminController::class, 'rolePermission'])->name('admin.rolePermission');
//it doesnt work!!!!
Route::get('edit-role-permission/{id}', [AdminController::class, 'editRolePermission'])->name('updateRolePermission');
});
function editRolePermission($id)
{
$row = DB::table('users')
->where('id',$id)
->limit(1)
->update(array('role' => 'fdas'));
return redirect()->back();
}
首先你的路由是 GET
方法,而你的表单是 POST
方法。
对于 $id
,您可以通过以下方式在您的控制器中获取它:
$id = \Route::current()->parameter('id');
更改此行:
action="{{ route('updateRolePermission'), ['id' =>$user->id] }}"
对此:
action="{{ route('updateRolePermission', $user->id) }}"
允许管理员更改用户或员工角色的提交表单,显示错误 Missing required parameter for [Route: updateRolePermission] [URI: admin/edit-role-permission/{id}] [Missing parameter: id]
我为这个问题奋斗了很多小时,大家可以帮忙谢谢!!!!!!
<form action="{{ route('updateRolePermission'), ['id' =>$user->id] }}" method="POST">
@csrf
<select name="roles">
<option value="user">User</option>
<option value="staff">Staff</option>
</select>
<input type="submit">
</form>
Route::group(['prefix'=>'admin', 'middleware'=>['isAdmin','auth']], function(){
Route::get('dashboard', [AdminController::class, 'index'])->name('admin.dashboard');
Route::get('role-permission', [AdminController::class, 'rolePermission'])->name('admin.rolePermission');
//it doesnt work!!!!
Route::get('edit-role-permission/{id}', [AdminController::class, 'editRolePermission'])->name('updateRolePermission');
});
function editRolePermission($id)
{
$row = DB::table('users')
->where('id',$id)
->limit(1)
->update(array('role' => 'fdas'));
return redirect()->back();
}
首先你的路由是 GET
方法,而你的表单是 POST
方法。
对于 $id
,您可以通过以下方式在您的控制器中获取它:
$id = \Route::current()->parameter('id');
更改此行:
action="{{ route('updateRolePermission'), ['id' =>$user->id] }}"
对此:
action="{{ route('updateRolePermission', $user->id) }}"