gpt4 book ai didi

php - Laravel 中 App\Http\Controllers\ProjectCollaboratorsController::update() 缺少参数 3

转载 作者:行者123 更新时间:2023-11-29 11:09:01 25 4
gpt4 key购买 nike

我将更新我的权限值(表名称也是权限)这是我有关权限的编辑功能

public function edit($project,$id)
{

$projectId=Project::findOrFail($project, ['id'])->id;
$permissions = Permission::permissioneditt($id,$projectId)->get();
view('collaborators.permissionedit')->withPermissions($permissions);
return view('collaborators.permissionedit', compact('permissions', 'projectId','collaborator->user()->first()->id'));

}

更新功能

public function update(Request $request, $projectId, $collaboratorId)
{
$this->validate($request, [
'status' => 'required',
]);

DB::table('permissions')
->where('project_id', $projectId)
->where('collaborator_id', $collaboratorId)
->update(['status' => $request->input('status')]);

return redirect()->back()->with('info','Your Permission has been updated successfully');

}

这是更新表单(permission.edit.php)

<form class="form-vertical" role="form" method="post" action="{{ route('projects.collaborators.permission', $projectId) }}">

路线是

Route::put('projects/{projects}/permission',['uses'=>'ProjectCollaboratorsController@update',]);

但生成以下错误

ErrorException in ProjectCollaboratorsController.php line 268: Missing argument 3 for App\Http\Controllers\ProjectCollaboratorsController::update()

权限模型范围是

 public function scopePermissioneditt($query, $id, $projectId)
{
return $query->where('collaborator_id',$id)->where('project_id',$projectId);//->exists();

}

我该如何解决这个问题?

最佳答案

问题似乎出在这里:

Route::put('projects/{projects}/permission' [
'uses'=>'ProjectCollaboratorsController@update'
]);

这实际上只将一个参数传递给您的 update 方法,但在您的 Controller 中它特别请求两个:

public function update(Request $request, $projectId, $collaboratorId)
{
// ...
}

因此,您的路线可以访问,但负责解决该路线的 Controller 将始终因路线设计中的缺陷而失败。

如何解决?如果没有更多代码详细信息,很难说,但如果您从 update 方法中删除 $collaboratorId 变量的要求,您将不会再看到该错误。接下来的问题是如何访问该方法内的 $collaboratorId 。您可以将其与表单一起传递,或者重做路由,以便它包含协作者 ID 和项目 ID。第二个选项似乎与您当前在编辑 route 的内容更加一致。

关于php - Laravel 中 App\Http\Controllers\ProjectCollaboratorsController::update() 缺少参数 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40947556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com