[英]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.