Laravel:如何跟踪哪个文件上传到哪个循环选择数组

问题描述

在@foreach 循环中,我有一个表单选择元素,后跟文件上传元素。我的多个文件上传成功,但我想将文件名保存在表中,因此对于那些没有上传文件的记录,该字段将为空,而其他人将拥有其后续文件名。我的问题是如何将上传文件与哪个“选择”元素相关联,因为文件上传是可选的。我正在使用带有刀片模板的 Laravel 8。 我的代码如下:

@foreach ($critical_statement as $crt_as)
 <tr>
   <td>
        <select name="cric_Select[]" id="{{$i}}" required>
              <option value=''>Select</option>
              <option value='1'>Yes</option>
              <option value='0'>No</option>
         </select>
    </td>
    <td>
        {{Form::file('attach_image[]',['multiple' => 'multiple'])}}
    </td>
    </tr> 
@endforeach

控制器:

    if($request->hasFile('attach_image'))
     {
        $this->validate($request,['attach_image.*' => 'mimes:jpeg,png,gif,pdf|nullable|max:5000']);
        
        foreach($request->file('attach_image') as $index => $file)
        {
           $filenameWithExt = $file->getClientOriginalName();
           $filename = pathinfo($filenameWithExt,PATHINFO_FILENAME);
           $extension = $file->getClientOriginalExtension();
           $fileNametoStore= $filename.'_'.date("jmy_his").'.'.$extension;
           $path = $file->storeAs('public/attachments/',$fileNametoStore);
        }
    }

$allSelects = request()->input('cric_Select');
foreach($allSelects as $singleSelect)
{
    $ha = new Assessment();
    $ha->id = $id;
    $ha->selectValue = $singleSelect.value();
    $ha->attach_image= $fileNametoStore; // problem here as which stored file relates to which select
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)