首页 > 解决方案 > 图像不存储在 Laravel 6 中

问题描述

我尝试image upload使用 Vue.js 在 Laravel 中实现?但是,我不知道为什么图像不保存到数据库中。我不确定,真正的问题来自我的Vue.jsor My Controller。我还是不知道怎么弄。

客户控制器

public function store(Request $request)
{
    $data = $request->validate([
        'name' => 'required',
        'email' => 'required',
        'phone' => 'required',
        'company_name' => 'required',
    ]);

    $customer = Customer::create($data);

    if ($request->hasFile('image')) {
        $image = $request->get('image');
        $imageName = time().'.'.$request->image->getClientOriginalExtension();
        $request->image->move(public_path('images'), $imageName);
    }
    // dd($customer);

    return response()->json(['sucessfully created image']);
}

标签: laravelvue.jslaravel-6

解决方案


我想你忘记了保存图像

尝试这个

public function store(Request $request)
{
    $data = $request->validate([
        'name' => 'required',
        'email' => 'required',
        'phone' => 'required',
        'company_name' => 'required',
    ]);

    $customer = Customer::create($data);

    if ($request->hasFile('image')) {
        $image = $request->get('image');
        $imageName = time().'.'.$request->image->getClientOriginalExtension();
        $request->image->move(public_path('images'), $imageName);
        // Get the property name of table I suppose its imgData
        $customer->imgData = $imageName;
        $customer->save();
    }

    return response()->json(['sucessfully created image']);
}

或者,如果您有多对多关系,只需用附加方法替换该行让我知道这是否对您有帮助


推荐阅读