将图片和 pdf 插入 mysql - Laravel / PHP
Insert image and pdf into mysql - Laravel / PHP
我想使用 updateOrCreate()
将图像和 pdf 插入 mysql 数据库
我试过了,但它 returns 1 或 0 而不是实际文件 ..
$info = Info::updateOrCreate(
['user_id' => Auth::id()],
[
'image' => $request->hasFile('image') && $request->image->move(public_path('uploads'),$request->full_name.'.'.$request->image->getClientOriginalExtension()),
'cv' => $request->hasFile('cv') && $request->cv->move(public_path('uploads'),$request->user_id.'.'.$request->cv->getClientOriginalExtension())
]
);
根据您的代码,您根据 'hasFile && move_uploaded_file' 的结果分配 image 和 cv 的值,其中 return 为真或假(0 或 1)。你应该做的是,如果 has_file 和 move_uploaded_file return 为真,return 文件路径位置。如果没有,留空。
$info = Info::updateOrCreate(
['user_id' => Auth::id()],
[
'image' => $request->hasFile('image') && $request->image->move(public_path('uploads'),$request->full_name.'.'.$request->image->getClientOriginalExtension()) ? public_path('uploads').$request->full_name.'.'.$request->image->getClientOriginalExtension() : "",
'cv' => $request->hasFile('cv') && $request->cv->move(public_path('uploads'),$request->user_id.'.'.$request->cv->getClientOriginalExtension()) ? public_path('uploads').$request->user_id.'.'.$request->cv->getClientOriginalExtension() : ""
]
);
上面的代码仅 return 是您上传文件的文件位置字符串(来自 move_uploaded_file)。如果要将其直接插入数据库,则需要一个 blob/binary 列并使用 mysql stmt(准备语句)将 blob 插入数据库。
我想使用 updateOrCreate()
我试过了,但它 returns 1 或 0 而不是实际文件 ..
$info = Info::updateOrCreate(
['user_id' => Auth::id()],
[
'image' => $request->hasFile('image') && $request->image->move(public_path('uploads'),$request->full_name.'.'.$request->image->getClientOriginalExtension()),
'cv' => $request->hasFile('cv') && $request->cv->move(public_path('uploads'),$request->user_id.'.'.$request->cv->getClientOriginalExtension())
]
);
根据您的代码,您根据 'hasFile && move_uploaded_file' 的结果分配 image 和 cv 的值,其中 return 为真或假(0 或 1)。你应该做的是,如果 has_file 和 move_uploaded_file return 为真,return 文件路径位置。如果没有,留空。
$info = Info::updateOrCreate(
['user_id' => Auth::id()],
[
'image' => $request->hasFile('image') && $request->image->move(public_path('uploads'),$request->full_name.'.'.$request->image->getClientOriginalExtension()) ? public_path('uploads').$request->full_name.'.'.$request->image->getClientOriginalExtension() : "",
'cv' => $request->hasFile('cv') && $request->cv->move(public_path('uploads'),$request->user_id.'.'.$request->cv->getClientOriginalExtension()) ? public_path('uploads').$request->user_id.'.'.$request->cv->getClientOriginalExtension() : ""
]
);
上面的代码仅 return 是您上传文件的文件位置字符串(来自 move_uploaded_file)。如果要将其直接插入数据库,则需要一个 blob/binary 列并使用 mysql stmt(准备语句)将 blob 插入数据库。