我想将文件存储在公共文件夹中并将其名称保存到mysql数据库,数据库不会为file_name列创建记录
当我发布文件时,文件移动到文件夹,但数据库没有创建文件名记录,请帮忙。
这是我的控制器存储功能
$request->validate([
"title"=>"required",
"description"=>"required|string",
"file_name"=>"nullable"
]);
if($request->has('file')){
$file=$request->file('file');
$extension=$file->getClientOriginalExtension();
$fileName=time().'.'.$extension;
$path='postFiles';
$file->move($path,$fileName);
}
$post=Post::create([
'title'=> $request->title,
'description'=> $request->description,
'file_name'=>$fileName,
'user_id'=>auth()->user()->id
]);
$post->save();
这是数据库记录
id title description user_id file_name created_at updated_at
1 title: 34636sdfg... 2 NULL 2024-04-16 09:06:41 2024-04-16 09:06:41
if ($request->hasFile('file_name'))
$file = $request->file('file_name');
$extension = $file->getClientOriginalExtension();
$fileName = time() . '.' . $extension;
$path = 'postFiles';
$file->move($path, $fileName);