Laravel-如何传递参数以返回重定向
在我的Laravel-5.8中,我有:Laravel-如何传递参数以返回重定向,laravel,Laravel,在我的Laravel-5.8中,我有: public function manager_employee_goal_list($id) { $goal = AppraisalGoal::findOrFail($id); $goaldetails = AppraisalGoalDetail::where('appraisal_goal_id', $id)->get(); return view('appraisal.appraisal_goals.manager_e
public function manager_employee_goal_list($id)
{
$goal = AppraisalGoal::findOrFail($id);
$goaldetails = AppraisalGoalDetail::where('appraisal_goal_id', $id)->get();
return view('appraisal.appraisal_goals.manager_employee_goal_list')
->with('goal', $goal)
->with('goaldetails', $goaldetails);
}
public function manager_employee_goal_approve(Request $request, $id)
{
$goal = AppraisalGoal::find($id);
$goal->is_approved = 3;
$goal->line_manager_comment = $request->line_manager_comment;
$goal->save();
Session::flash('success', 'Goal is approved');
return redirect()->route('appraisal.appraisal_goals.manager_employee_goal_list');
}
查看:经理\员工\目标\列表
<a class="btn btn-xs btn-info" data-toggle="modal" data-target="#approve{{ $goal->id }}" data-original-title="Approve">
Approve
</a>
<div class="modal fade" id="approve{{ $goal->id }}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form action="{route('appraisal.appraisal_goals.manager_employee_goal_approve',['id'=>$goal->id])}}" method="post">
{{ csrf_field() }}
<div class="modal-header">
Approve Goal
</div>
<div class="col-md-12">
<div class="form-group">
<label class="control-label">Comment</label>
<textarea rows="2" name="line_manager_comment" class="form-control" placeholder="Enter Comment here" value="{{old('line_manager_comment')}}" required data-validation-required-message="This field is required"></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-success btn-ok">Approve Goal</button>
</div>
</form>
</div>
</div>
</div>
当我在模式表单上提交时,它会保存,但无法重定向到:
return redirect()->route('evaluation.evaluation\u goals.manager\u employee\u goal\u list')
它显示此错误
函数App\Http\Controllers\evaluation\evaluationalController::manager\u employee\u goal\u list()的参数太少,已传递0个参数,预期正好是1个参数
我如何解决它
感谢
经理、员工、目标列表
方法需要一个ID,您所要做的就是传递该ID,如下所示:
return redirect()->route(
'appraisal.appraisal_goals.manager_employee_goal_list',
['id' => $id]
);
另外,我建议您在定义的路由中删除id
之后的问号,或者通过使参数为空来更新方法中的参数
public function manager_employee_goal_list($id = null)
当然,您也必须调整代码我认为您可以
返回重定向()->路由('evaluation.evaluation\u goals.manager\u employee\u goal\u list',$goal->id)
还有另一个问题,您将您的路线设置为{id?}
,这意味着id是可选的,但在您的功能中,这是强制性的,建议使用公共功能经理\员工\目标\列表($id=null)
或路线::get('evaluation\目标/经理\员工\目标\列表/{id}“,”evaluation\evaluation algoalsc…
Yes,如果需要可选参数,请不要使用findOrFail和folliwing逻辑
public function manager_employee_goal_list($id = null)