我正在使用此代码来编辑数据库记录:
public function service_edit($id)
{
$service = Service::find($id);
return view('Super_Admin/service/.service_edit')->with('service', $service);
}
public function service_update(Request $request, $id)
{
$service = Service::find($id);
$input['title_name'] = strtoupper ($request['title_name']);
$input['link'] = strtoupper ($request['link']);
$input['note'] = strtoupper ($request['note']);
$input['image'] = time().'.'.$request->
image->getClientOriginalExtension();
$folder1 = public_path('WEBSITE-FILE/SERVICE/1');
$path1 = $folder1 . $input['image']; // path 1
$request->image->move($folder1, $input['image']);
$path2 = public_path('WEBSITE-FILE/SERVICE/2').$input['image'];// path 2
$path3 = public_path('WEBSITE-FILE/SERVICE/3'). $input['image']; // path 3
$path4 = public_path('WEBSITE-FILE/SERVICE/4'). $input['image']; // path 4
\File::copy($path1, $path2);
\File::copy($path1, $path3);
\File::copy($path1, $path4);
$service->save();
return back()->with('success','UPDATED SUCCESSFULLY .');
}
我提交表单时遇到此错误
“在数组上调用成员函数save()”
答案 0 :(得分:1)
将$input
初始化为数组,然后调用$input->save()
,这就是引发错误的原因。
也许您想使用$service
代替$input
吗?
答案 1 :(得分:1)
$service
是保存位置,而不是$input
。
您必须将请求的值分配给$ service变量(Service Object),然后将其保存。
以这种方式尝试:
public function service_update(Request $request, $id)
{
$service = Service::find($id);
$service->title_name = strtoupper ($request->title_name);
$service->link = strtoupper ($request->link);
$service->note = strtoupper ($request->note);
$service->image = time().'.'.$request->file('image')->getClientOriginalExtension();
// ...
$service->save();
return back()->with('success','UPDATED SUCCESSFULLY .');
}
答案 2 :(得分:0)
更改以下行并尝试
$input= Service::find($id);