函数App \ Http \ Controllers \ RakController :: update()的参数太少,传递了1个,正好是2个

时间:2019-09-30 03:46:39

标签: php database laravel

我遇到一个错误:

  

函数App \ Http \ Controllers \ RakController :: update()的参数太少,传递了1个参数,恰好期望2个参数

这是我拥有的代码:

public function update(Request $request, $id)
{
    $data=Rak::find($id);
    $data->kode_rak=$request->get('kode_rak');
    $data->server=$request->get('server');
    $data->os=$request->get('os');
    $data->ip=$request->get('ip');
    $data->masa_berlaku=$request->get('masa_berlaku');
    $data->merek=$request->get('merek');
    $data->type=$request->get('type');
    $data->save();
    return redirect ('/d_rak');
}

这是整体预览:
enter image description here

我在这里想念的是什么,感谢您的帮助

3 个答案:

答案 0 :(得分:0)

您可以跳过$id参数,并使用$request参数将其获取到控制器内部:

public function update(Request $request)
{
    $id = $request->id;
    $data=Rak::find($id);
    $data->kode_rak=$request->get('kode_rak');
    $data->server=$request->get('server');
    $data->os=$request->get('os');
    $data->ip=$request->get('ip');
    $data->masa_berlaku=$request->get('masa_berlaku');
    $data->merek=$request->get('merek');
    $data->type=$request->get('type');
    $data->save();
    return redirect ('/d_rak');
}

答案 1 :(得分:0)

尝试1:

检查“使用的类”必须为Illuminate\Http\Request;

尝试2:助手请求功能:

public function update($id)
{
    $data=Rak::find($id);

    $data->kode_rak = Request()->get('kode_rak');
    $data->server = Request()->get('server');
    $data->os = Request()->get('os');
    $data->ip = Request()->get('ip');
    $data->masa_berlaku = Request()->get('masa_berlaku');
    $data->merek = Request()->get('merek');
    $data->type = Request()->get('type');

    $data->save();
    return redirect('/d_rak');
}

如果行不通 在更新功能中显示func_get_args(),以查看传递的参数

答案 2 :(得分:0)

检查您的网址 例如:

http://{yourdomain}/update/{your_id}
在POST ROUTE中

。 如果不需要{ID},则将其定义为不需要的参数,

public function update(Request $request, $id="")
{
    $data=Rak::find($id);
    $data->kode_rak=$request->get('kode_rak');
    $data->server=$request->get('server');
    $data->os=$request->get('os');
    //your code

这将解决您的少数几个关于update方法的参数错误。