Обновление базы данных при редактировании базы данных - ошибка при отправке формы - PullRequest
0 голосов
/ 31 мая 2019

Я использую этот код для редактирования записи базы данных:

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 ()по массиву "

Ответы [ 3 ]

1 голос
/ 31 мая 2019

$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 .');
}
1 голос
/ 31 мая 2019

Вы инициализируете $input как массив, затем вызываете $input->save(), поэтому возникает ошибка.

Возможно, вы хотели использовать $service вместо $input?

0 голосов
/ 31 мая 2019

измените следующую строку и попробуйте

$input= Service::find($id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...