为什么我在 Laravel 5.5 上的更新图片不起作用?

Why my update image on Laravel 5.5 didn't work?

我必须在我的 table 主机上编辑数据。用户可以编辑数据并且它适用于其他人,但是当我更改图像时,它没有改变并且在我更新时没有给出错误。我使用 Laravel 5.5,这里是我使用的代码:

这是更新的控制器

public function update(Request $request)
    {

        $this->validate($request, [
            'nama_objek_edit' => 'required',
            'objek_lat_edit' => 'required',
            'objek_lng_edit' => 'required',
            'objek_deskripsi_edit' => 'required',
            'objek_pict_edit' => 'required'

        ]);


        $updateObjek = TbLokasi::where('id_lokasi', $request->id)->first();
        $updateObjek->lokasi_nama = $request->nama_objek_edit;
        $updateObjek->lokasi_lat = $request->objek_lat_edit;
        $updateObjek->lokasi_lng = $request->objek_lng_edit;
        $updateObjek->lokasi_desc = $request->objek_deskripsi_edit;
        if ($request->hasFile('lokasi_pict')) {
            $filePic   = $request->file('lokasi_pict');
            $extension = $filePic->getClientOriginalExtension();
            $fileName  = date('m-d-Y_', time()) . $request->lokasi_nama;
            // $filePic->move('/uluwatu_image/', $fileName . '.' . $extension, file_get_contents($request->file('objek_pict')->getRealPath()));
            $filePic->move('uluwatu_image/', $fileName . '.' . $extension);
            $updateObjek->lokasi_pict = 'uluwatu_image/' . $fileName . '.' . $extension;
        }

         $updateObjek->save();
        return redirect('/masterdata')->with('success', 'Data Berhasil Diubah');
    }

这是用户想要更改图像时的代码:

<div class="col-md-6 col-lg-6">
    <div class="col-md-6 col-lg-12">
        <div class="card" style="width:100%">
            <img src="{{ asset($updateobjek['lokasi_pict']) }}" style="width:100%" 
            alt="Card Image" />
            <div class="form-group">
                <label for="exampleFormControlFile1">Change Image</label>
                <input type="file" class="form-control-file" id="objek_pict_edit" 
                name="objek_pict_edit">
            </div>
        </div>
    </div>
</div>

这是用户添加新数据的控制器存储:

public function store(Request $request)
    {
        if ($request->hasFile('objek_wto')) {
            $filePic   = $request->file('objek_wto');
            $extension = $filePic->getClientOriginalExtension();
            $fileName  = 'pura-uluwatu';
            // $filePic->move('/uluwatu_image/', $fileName . '.' . $extension, file_get_contents($request->file('objek_pict')->getRealPath()));
            $filePic->move('marker/', $fileName . '.' . $extension);
        }

        // ObjekTable::create($request->all());

        $new_objek = new TbObjek();
        $new_objek->objek_nama = $request->objek_nama;
        $new_objek->objek_wto = 'marker/' . $fileName . '.' . $extension;
        $new_objek->objek_desc = $request->objek_desc;
        $new_objek->save();

        return redirect('masterdataobjek')->with('success', 'Data Berhasil Ditambah');
    }

EditFormBlade.php

Controller

您在 return redirect('/masterdata')->with('success', 'Data Berhasil Diubah'); 之前缺少 $updateObjek->save();,因此您对模型的更改未保存。