【问题标题】:Laravel - Missing required parameters for [Route: appraisal.appraisal_goals.manager_employee_goal]Laravel - [路线:appraisal_goals.manager_employee_goal] 缺少必需的参数
【发布时间】:2020-06-04 18:47:49
【问题描述】:

使用 Laravel-5.8,我尝试从以下位置路由:

public function manager_employee_goal($id)
{
    if (! Gate::allows('appraisal_goal_review')) {
        return abort(401);
    }        

    $userCompany = Auth::user()->company_id;
    $userEmployee = Auth::user()->employee_id;
    $identities = DB::table('appraisal_identity')->select('id')->where('company_id', $userCompany)->where('is_current', 1)->first();
    $linemanager = DB::table('hr_employees')->select('line_manager_id')->where('id', $userEmployee)->first();
    $linemanageremployee = DB::table('hr_employees')->select('id')->where('line_manager_id', $linemanager->line_manager_id)->pluck('id');
   $appraisedemployees = HrEmployee::select('id', 'employee_code', 'first_name', 'last_name')->where('id', $id)->get();    

    $goals = AppraisalGoal::where('employee_id', $id)->where('appraisal_identity_id', $identities->id)->where('id', '!=', $linemanager->line_manager_id)->get();

    return view('appraisal.appraisal_goals.manager_employee_goal')->with('goals', $goals)->with('appraisedemployees', $appraisedemployees);        
}

查看:manager_employee_goal.blade

  <a class="btn btn-xs btn-primary" href="{{ route('appraisal.appraisal_goals.manager_employee_goal_list', ['goalid'=>$goal->id]) }}">
           {{ trans('global.view') }}
  </a> 

到这条路线:

public function manager_employee_goal_list($goalid)
{
        $goal           =       AppraisalGoal::findOrFail($goalid);
    $goaldetails    = AppraisalGoalDetail::where('appraisal_goal_id', $goalid)->get();
    return view('appraisal.appraisal_goals.manager_employee_goal_list')
                ->with('goal', $goal)
                ->with('goaldetails', $goaldetails);       
}    

使用

Route::get('appraisal_goals/manager_employee_goal/{id}', 'Appraisal\AppraisalGoalsController@manager_employee_goal')->name('appraisal.appraisal_goals.manager_employee_goal');
Route::get('appraisal_goals/manager_employee_goal_list/{goalid}', 'Appraisal\AppraisalGoalsController@manager_employee_goal_list')->name('appraisal.appraisal_goals.manager_employee_goal_list');

但是我收到了这个错误:

缺少 [路线:appraisal.appraisal_goals.manager_employee_goal] [URI:appearance_goals/manager_employee_goal/{id}] 的必需参数。 (查看:C:\xampp\htdocs\peopleedge\resources\views\appraisal\appraisal_goals\manager_employee_goal_list.blade.php)

如何解决?

谢谢

【问题讨论】:

  • 请检查 manager_employee_goal_list.blade.php 文件而不是 manager_employee_goal.blade 并寻找“appraisal.appraisal_goals.manager_employee_goal”路线
  • 请分享您的 manager_employee_goal_list.blade.php 代码
  • 我添加了?在路线的尽头,它可以工作。谢谢大家

标签: laravel


【解决方案1】:

将route('appraisal.appraisal_goals.manager_employee_goal_list', ['goalid'=&gt;$goal-&gt;id]) 更改为url('appraisal.appraisal_goals.manager_employee_goal_list', ['id'=&gt;$goal-&gt;id])。

检查 url 生成器的使用情况:- https://laravel.com/docs/6.x/urls#urls-for-named-routes

【讨论】:

  • 问题依旧
猜你喜欢
  • 2021-11-06
  • 2021-09-04
  • 2020-07-07
  • 2016-05-07
  • 2023-02-07
  • 2020-09-27
  • 1970-01-01
  • 1970-01-01
  • 2019-04-21
相关资源
最近更新 更多