ошибка при обновлении изображения в моей панели администратора - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу обновить таблицу продуктов, но при обновлении таблицы продуктов выдается следующее сообщение об ошибке:

ErrorException в строке CreatesController.php 201: неопределенная переменная: name

201 line is this: 'image'=> $name,

Моя таблица продуктов содержит следующие поля:

productname,image,price,category_id

Это CreatesController:

public function productupdate(Request $request, $id){

$this->validate($request, [

'productname'=>'required',

'image'=>'image|mimes:jpg,png,jpeg|max:10000',

'price'=>'required',

'category_id'=>'required'

]);

if($request->hasfile('image'))

{

  $file=$request->file('image');

  $new_name = rand(). '.' .

  $path=public_path().'/images';

  $name=$file->getClientOriginalName();

  $file->move($path, $name);

  $data=$name;

}

$data=array(

'productname'=> $request->input('productname'),

'image'=> $name,

'price'=> $request->input('price'),

'category_id'=> $request->input('category_id')

 );



Product::where('id', $id)

  ->update($data); 

  return redirect('/item')->with('info','Product updated successfuly!');

}

1 Ответ

0 голосов
/ 20 сентября 2019

Если вы только обновляете информацию о продукте, не загружая изображение, то если ($ request-> hasfile ('image')) становится ложным, переменная $ name не назначается.Попробуйте это ..

public function productupdate(Request $request, $id) {
        $this->validate($request, [
            'productname' => 'required',
            'image' => 'image|mimes:jpg,png,jpeg|max:10000',
            'price' => 'required',
            'category_id' => 'required'
        ]);

        $data = array(
            'productname' => $request->input('productname'),
            'image' => null,
            'price' => $request->input('price'),
            'category_id' => $request->input('category_id')
        );

        if ($request->hasfile('image')) {
            $file = $request->file('image');
            $path = public_path() . '/images';
            $name = $file->getClientOriginalName();
            $file->move($path, $name);
            $data['image'] = $name;
        }

        Product::where('id', $id)

            ->update($data);

        return redirect('/item')->with('info', 'Product updated successfully!');
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...