我能夠將陣列中的多個檔案存盤并保存到資料庫中,同時也能更新表單資料。然而,現在的問題是,當我更新表單而不更新檔案時,它會回傳這個錯誤。
count()。Parameter must be an array or an object that implements Countable有誰知道我應該為我的
update函式或value在我的刀片檔案中做什么,以便它不會洗掉file元素?--------------------------------------------- UPDATED ---------------------------------------------
public function update(Request $request, $id) { $data = $request-> all(); $data = $this->saveEmptyData($data)。 $c = Document::find($id)。 $fileData = []; if(count($request-> file)>0) { foreach($request->file as $file) { $path = public_path('storage/documents')。 $fileName = time().'_'.$file->getClientOriginalName()。 $file->move($path, $fileName) 。 if ($c-> file) { File::delete($path.'/'.json_decode($c->file) [0] )。) } $fileData[] = $fileName; } $doc = json_encode($fileData)。 $c->檔案 = $doc; $c->name = $request->name。 $c->price = $request->price; $c->發布 = $request->發布。 } /else { // redirect()->back()->with('errors', 'File is required!') ; //} $c-> save(); return redirect()->route('product.index')->with('success', 'document updated successfully') 。 }Blade
<form method="POST" action="{ route('document. update', $doc) }}" enctype="multipart/form-data"> <fieldet> .... <div class="form-group" > <label> Document</label> <div class="input-group-append" > <label for="upload_file" >Upload</label> <input id="upload_file" type="file" name="file[] " value="{{ isset($doc) ? $doc['file'] : '' }}" multiple> </div> </div> </fieldset> </form>uj5u.com熱心網友回復:
if(count($request->file)>0) { foreach($request->file as $file) { $path = public_path(' documents/')。 $fileName = time().'_'.$file->getClientOriginalName()。 $file->move($path, $fileName) 。 if ($c-> file) { File::delete($path.'/'.json_decode($c->file)[0] )。) } $fileData[] = $fileName; } $doc= json_encode($fileData); //replace $doc['file'] with $doc. $c-> file=$doc。 } $c-> save(); //不需要宣告$fileData;。uj5u.com熱心網友回復:
enctype="multipart/form-data"在表單標簽中if(count($request->file)>0) { foreach($request->file as $file) { $path = public_path(' documents/')。 $fileName = time().'_'.$file->getClientOriginalName()。 $file->move($path, $fileName) 。 if ($c-> file) { File::delete($path.'/'.json_decode($c->file)[0] )。) } $fileData[] = $fileName; } $doc['file'] = json_encode($fileData)。 }轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/310468.html
標籤:
上一篇:安卓11存盤訪問和Java檔案庫
下一篇:如何防止在C 中創建一個物件
