[英]How can I store saved filename in database : laravel?
我正在嘗試存儲文件名,該文件名實際上存儲在數據庫的文件夾中。 我將文件保存為原始名稱。 一切正常,除了當我嘗試將名稱存儲在數據庫中時,存儲了一些臨時文件名而不是預期的名稱。 我哪里做錯了?
$student = new Student();
$student->create($request->all());
$gradeId = $request->grade_id;
$file = $request->file('image');
$filename = $file->getClientOriginalName();
$file->storeAs('public', $filename);
$student->image = $filename;
return redirect()->route('index', compact('gradeId'));
'C:\\ xampp \\ tmp \\ phpA812.tmp'存儲在數據庫中,但是當我回顯$ filename時,它給出了正確的名稱。
不要使用create方法,因為它將直接保存新模型。 請執行下列操作:
$file = $request->file('image');
$filename = $file->getClientOriginalName();
$student = new Student();
$student->name = $request->name;
$student->age = $request->age;
$student->image = $filename;
$student->save();
只需單獨指定所有字段,然后點擊保存方法即可。 名稱和年齡就是例子!
嘗試替換下面的行
$student->image = $filename;
與
Student::where('id', $student->id)->update(['image' => $filename]);
您可以單獨設置學生屬性,而不是批量分配。
$student = new Student();
$student->name = $request->input('name');
// Set other properties
$file = $request->file('image');
$filename = $file->getClientOriginalName();
$file->storeAs('public', $filename);
$student->image = $filename;
$student->save();
return redirect()->route('index', compact('gradeId'));
要將文件的所有屬性存儲在數據庫中,可以使用以下程序包:
https://github.com/Saeid-Khaleghi/media-store
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.