图片上传 Laravel 5.2 : 尝试获取 属性 的非对象

Image Uploading Laravel 5.2 : Trying to get property of non-object

我正在尝试使用移动临时文件的方法上传图片,并仅在我的索引页面上显示路径。

这是问题所在:

ErrorException in ProductController.php line 69: Trying to get property of non-object

在我的控制器中包含错误行:

public function store(Request $request)
{
    $product=Request::all();
    Product::create($product);


    $imageName = $product->id_prod . '.' . 
        $request->file('images')->getClientOriginalExtension();

    $request->file('images')->move(
        base_path() . '/public/images/catalog/', $imageName
    );  

    return redirect('product');
}

这里是数据库,文件已经上传到临时文件夹,但是文件移动失败。我正在使用 Laravel 5.2,这是我第一次上传文件。谁能给我解释一下为什么这个会出错。

抱歉我的语法不好。

你可以这样试试:

public function store(Request $request)
{
    $product = $request->all();

    $picture = '';

    if ($request->hasFile('images')) {
        $file = $request->file('images');
        $filename = $file->getClientOriginalName();
        $extension = $file->getClientOriginalExtension();
        $picture = $product['id_prod'] . '.' . $extension;
        $destinationPath = base_path() . '/public/images/catalog/';
        $request->file('images')->move($destinationPath, $picture);
    }

    if (!empty($product['images'])) {
        $product['images'] = $picture;
    } else {
        unset($product['images']);
    }


    Product::create($product);

    return redirect('/product');
}