我遇到一个错误:
函数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');
}
我在这里想念的是什么,感谢您的帮助
答案 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方法的参数错误。