【问题标题】:Too few arguments to function App\Http\Controllers\SupervisorController::edit(), 0 passed and exactly 1 expected函数 App\Http\Controllers\SupervisorController::edit() 的参数太少,通过了 0,预期正好 1
【发布时间】:2020-11-30 06:44:20
【问题描述】:

对不起,这是非常基本的,但我不知道是什么问题。

我在尝试访问 edit_supervisor 时总是收到此错误。

路线:

 Route::get('/edit_supervisor', 'SupervisorController@edit')->name('edit_supervisor');

主管控制器:

public function edit($id)
{
    return view('DataSupervisor.edit');
}

【问题讨论】:

标签: laravel


【解决方案1】:

你可以像这样在 Route 中添加 $id 作为参数

Route::get('/edit_supervisor/{id}', 'SupervisorController@edit')->name('edit_supervisor');

也可以将函数参数$id改为Request $request

public function edit(Request $request)
{
    return view('DataSupervisor.edit');
}

在刀片中

<a href="{{ route('edit_supervisor', $id) }}">edit</a>

为了显示以前的数据,您需要在控制器中使用 $id 获取数据

$supervisor = Model::findOrFail($id);
return view('DataSupervisor.edit', compact('supervisor'));

【讨论】:

    【解决方案2】:

    你需要传递 id :

    Route::get('/edit_supervisor/{id}', 'SupervisorController@edit')->name('edit_supervisor');
    

    在刀片上:

    <a href="{{ route('edit_supervisor', $id) }}...
    

    【讨论】:

      猜你喜欢
      • 2020-04-22
      • 1970-01-01
      • 2019-10-29
      • 2019-07-06
      • 2020-12-11
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多