【问题标题】:Laravel Error: Too few arguments to function, 0 passed and exactly 1 expectedLaravel 错误:函数的参数太少,传递了 0,预期正好 1
【发布时间】:2020-02-20 10:59:37
【问题描述】:

使用 Laravel-5.8,我有这个代码:

public function manager_employee_list(Request $request)
{

    $employees = HrEmployee::paginate(6);

    return view('appraisal.appraisal_goals.manager_employee_list')->with('employees', $employees);
}

它呈现这个视图:manager_employee_list

      <div class="row d-flex align-items-stretch">
          @if (count($employees))
          @foreach($employees as $key => $employee)
        <div class="col-12 col-sm-6 col-md-4 d-flex align-items-stretch">
          <div class="card bg-light">
            <div class="card-header text-muted border-bottom-0">
              {{isset($employee->designation) ? $employee->designation->designation_name : ''}}
            </div>
            <div class="card-body pt-0">
              <div class="row">
                <div class="col-7">
                  <h2 class="lead"><b>Staff ID: {{$employee->employee_code}}</b></h2>
                  <h2 class="lead"><b>{{$employee->first_name}} {{$employee->last_name}}</b></h2>

                  <h6 class="lead"><b>Employee Department: </b>{{isset($employee->department) ? $employee->department->dept_name : ''}}</h6>
                </div>
                <div class="col-5 text-center">
                            @if($employee->emp_image != '')
                                <img src="{{ URL::to('/') }}/public/storage/employees/image/{{ $employee->emp_image }}" class="img-circle img-fluid" />

                            @else
                                <img class="profile-user-img img-fluid img-circle" src="{{asset('theme/adminlte3/dist/img/default.png')}}" alt="" class="img-circle img-fluid">
                            @endif
                </div>
              </div>
            </div>
            <div class="card-footer">
              <div class="text-right">
                <a href="{{ route('appraisal.appraisal_goals.manager_employee_goal', ['id'=>$employee->id]) }}" class="btn btn-sm btn-primary">
                  <i class="fas fa-user"></i> View Goal
                </a>
              </div>
            </div>
          </div>
        </div>
        @endforeach 
        @else
        <h4 style="text-align:center;">No matching records found</h4>
        @endif           
      </div>

我要传参数

['id'=>$employee->id]

从上面到另一个控制器动作:

public function manager_employee_goal($id)
{

    $goals = AppraisalGoal::where('employee_id', $id)->get();

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

在这里使用它:

$goals = AppraisalGoal::where('employee_id', $id)->get();

当我点击

<a href="{{ route('appraisal.appraisal_goals.manager_employee_goal', ['id'=>$employee->id]) }}" class="btn btn-sm btn-primary">
     <i class="fas fa-user"></i> View Goal
</a>

我收到了这个错误:

函数 App\Http\Controllers\Appraisal\AppraisalGoalsController::manager_employee_goal() 的参数太少,通过了 0,预期正好 1

这有下划线:

公共功能 manager_employee_goal($id)

路由/web.php

Route::get('appraisal_goals/manager_employee_list', 'Appraisal\AppraisalGoalsController@manager_employee_list')->name('appraisal.appraisal_goals.manager_employee_list');
Route::get('appraisal_goals/manager_employee_goal', 'Appraisal\AppraisalGoalsController@manager_employee_goal')->name('appraisal.appraisal_goals.manager_employee_goal');

我该如何解决?

谢谢。

【问题讨论】:

  • 您可以使用检查元素检查正在创建的 url。看来您缺少 $employee->id

标签: laravel


【解决方案1】:

您需要更改您的web.php 文件。在网址中添加{id}

否则,一切都很好,因为现在您的 get 方法将类似于 'appraisal_goals/manager_employee_goal/{id}'

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

【讨论】:

  • @Khushbu - 我将 web.php 文件更改为 authentication_goals/manager_employee_goal/{id} 但又遇到了另一个错误:找不到错误 404 页面。但页面可用
  • 如果对您有帮助,请选择答案:)
【解决方案2】:

我认为您的路线需要更新为

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 2021-03-29
    • 2019-01-23
    • 2018-05-23
    • 2019-04-21
    相关资源
    最近更新 更多