php - 如何在没有多次上传的情况下存储数据“如果我没有要上传的文件”?
问题描述
当我想保存一个我不想上传文件的新数据时遇到问题,但我必须在我的公共函数存储中编写多个上传代码。我想在打开编辑表单并上传时添加文件。我该怎么办?
我试图将验证设置为设置,但是当我提交错误时未定义变量:数据。
public function store(Request $request)
{
$request->validate([
'employee_sid' => 'required',
'employee_npk' => 'required',
'employee_name' => 'required',
'file_uploads' => 'nullable',
'file_uploads.*' => 'file|image|mimes:pdf,jpg,jpeg,png',
]);
if($request->file('file_uploads'))
{
foreach($request->file('file_uploads') as $file)
{
$name = $file->getClientOriginalName();
$path = 'public/file/'.$request->employee_name;
$file->move($path, $name);
$data[] = $name;
}
}
$sid = new Sid;
$sid->employee_sid = $request->employee_sid;
$sid->employee_npk = $request->employee_npk;
$sid->employee_name = $request->employee_name;
$sid->file_uploads = json_encode($data);
$sid->save();
我希望当我在没有 file_uploads 的情况下提交该数据时。但错误
Undefined variable: data.
解决方案
您在 if 中定义 $data 变量,因此如果条件为假,则不会定义 $data 变量。一种可能的解决方法是:
$sid = new Sid;
$sid->employee_sid = $request->employee_sid;
$sid->employee_npk = $request->employee_npk;
$sid->employee_name = $request->employee_name;
$sid->file_uploads = isset($data)? json_encode($data): null;
$sid->save();
推荐阅读
- php - 单击时,从多个输入字段中删除图像并将剩余的图像上传到数据库中
- javascript - 无法读取 null 的属性“第一个”
- java - 存储引用和对象的区别?
- python - Python:选择矩阵中每列非零的最后一个值
- javascript - 如何使用类似于我们为文本溢出所做的省略号将标记列表截断为一行?
- mongodb - “模糊”在 MongoDB 的 $searchBeta 聚合阶段如何工作?
- android - 如何在颤动中向用户询问多个权限?
- linux - 扩展 LVM 卷和调整文件系统大小的脚本
- netsuite - 无法计算所选实时费率的成本。认证中介人的密码不正确。报价保存时遇到错误
- c++ - MapViewOfFile 从给定位置读取