обновить и отредактировать выпуск изображения в laravel - PullRequest
0 голосов
/ 31 марта 2020

Я хочу отредактировать изображение, но у меня есть эта ошибка, и я знаю, что это из-за сохранения пути к изображению в виде строки, но я не знаю, как это исправить

 public function update(Request $request,$id)
    {
       $data = Singleproduct::find($id);
        $data->name = $request->name;
        $data->explain = $request->explain;
        $data->price = $request->price;
        $data->parent_name = $request->parent_name;

        $data = $request->image.$request->image->getClientOriginalExtension();

        $data->save();

        return redirect(route('product.index'));
    }

ошибка "Вызов функция-член save () on string "кто-нибудь может мне помочь исправить это?

1 Ответ

1 голос
/ 31 марта 2020

Если Singleproduct модель имеет свойство image, которое представляет собой строку, содержащую имя файла изображения (например, 'my-product.jpg'), вы можете захотеть ...

$data->image = $request->image->getClientOriginalName();

И затем $data->save() ожидается, что он будет работать.

В любом случае, я предлагаю вам использовать более подходящее наименование для вашей Модели и переменных.

Если Singleproduct - это продукт, я предпочитаю Product имя для модели.

Также, если бы я написал код, возможно, я бы сделал это так ...

public function update(ProductUpdateRequest $request, $id)
{
    $product = Product::findOrFail($id);
    $product->name = $request->name;
    $product->explain = $request->explain;
    $product->price = $request->price;
    $product->parent_name = $request->parent_name;
    $product->image_filename = $request->image->getClientOriginalName();

    $product->save();

    return redirect(route('product.index'));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...