Создание объекта по умолчанию из пустого значения «ошибка в laravel» - PullRequest
0 голосов
/ 10 января 2019

Привет! Я работаю над формой обновления продуктов на сайте электронной коммерции, но когда я пытаюсь изменить детали, появляется сообщение об ошибке «Неопределенная переменная: имя файла» и строка ошибки:

 Product::where(['id'=>$id])->
 update(['product_name'=>$data['product_name'],
 'product_code'=>$data['product_ code'],
 'product_color'=>$data['product_color'],
 'description'=>$data['description'],
 'price'=>$data['price'],'image'=>$fileName]);
    return redirect()->back()->with('flash_message_success','Product 
  updated successfully!');

или когда я пытаюсь обновить изображение только тогда, его ошибка: «Создание объекта по умолчанию из пустого значения», или строка ошибки:

$product->image = $filename;

это код ProductsController:

 public function editProduct(Request $request, $id=null){

  if($request->isMethod('post')){
    $data = $request->all();
    //echo "<pre>"; print_r($data); die;


    if($request->hasFile('image')){
      $image_tmp = Input::file('image');
      if($image_tmp->isValid()){
        $extension = $image_tmp->getClientOriginalExtension();
        $filename = rand(111,99999).'.'.$extension;
        $large_image_path = 
  'images/backend_images/products/large/'.$filename;
        $medium_image_path = 
  'images/backend_images/products/medium/'.$filename;
        $small_image_path = 
  'images/backend_images/products/small/'.$filename;
        // Resize Images
        Image::make($image_tmp)->save($large_image_path);
        Image::make($image_tmp)->resize(600,600)->save($medium_image_path);
        Image::make($image_tmp)->resize(300,300)->save($small_image_path);

        // Store image name in products table
        $product->image = $filename;
       }
      }

     if(empty($data['description'])){
          $data['description'] = '';
        }


     Product::where(['id'=>$id])- 
      >update(['product_name'=>$data['product_name'],
       'product_code'=>$data['product_code'],
       'product_color'=>$data['product_color'],
       'description'=>$data['description'],
       'price'=>$data['price'],'image'=>$fileName]);
       return redirect()->back()->with('flash_message_success','Product 
        updated successfully!');
       }

    //Get product details
    $productDetails = Product::where(['id'=>$id])->first();

     return view('admin.products.edit_product')- 
      >with(compact('productDetails'));
    }

Ответы [ 2 ]

0 голосов
/ 11 января 2019

я думаю, тебе нужно сделать что-то вроде этого

$product=new Product();
$product->image = $filename;

также, где вы определили $ fileName в своем коде?

0 голосов
/ 10 января 2019

"Неопределенная переменная: fileName"

В вашей переменной есть опечатка. Измените $fileName на $filename.

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