如何在没有多次上传的情况下存储数据"if i don't have a file want to upload"?



我想保存一个新数据时也有问题,我也不想上传文件,但是我必须在公共功能存储中编码多个上传。打开编辑表单并上传时,我想添加文件。我该怎么办?

我试图将验证设置为设置,但是当我提交错误不确定变量时:data。

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内部的$数据变量,因此,如果条件为false,则将未定义$数据变量。一个可能的修复可能是:

$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();

相关内容

最新更新