我得到了undefined array key个错误.但我看不出问题出在哪里.

下面是我的控制器代码.我正在将数据存储到files[]数组中.

        if ($request->file('files')){
        foreach($request->file('files') as $key => $file)
        {
            $fileName = $complaint->election_id.'_'. $complaint->id.'_'.$key.'.'.$file->extension();      
            $description = $file->getClientOriginalName();   

            $file->storeAs('complaints', $fileName); 
            
            $files[]['filename'] = $fileName;  
            $files[]['description'] = $description;       

        }
    }

数组看起来没问题,因为当我转储数组时,我得到的结果是这样的.

array:4 [
  0 => array:1 [
    "filename" => "2_50_0.pdf"
  ]
  1 => array:1 [
    "description" => "sample pdf.pdf"
  ]
  2 => array:1 [
    "filename" => "2_50_1.png"
  ]
  3 => array:1 [
    "description" => "sample profile image 2.png"
  ]
]

enter image description here

然后,我循环访问该数组以将数据存储到我的模型中.

foreach ($files as $file) {
            $complaintEvidence = new ComplaintEvidence();
            $complaintEvidence->filename = $file['filename'];
            $complaintEvidence->description = $file['description'];
            $complaintEvidence->save();
        }

我在这行得到了undefined array key个错误

enter image description here

我不明白问题出在哪里.代码的文件名行工作得非常好.

我该怎么解决这个问题?

推荐答案

似乎您创建的$files数组不正确.

这段代码 for each 键创建一个新的数组条目,因此filenamedescription都有自己的数组,但您希望将它们组合在一起.

$files[]['filename'] = $fileName;  
$files[]['description'] = $description; 

所以,你可以这样做

$files[] = [
   'filename' => $fileName,
   'description' => $description
]; 

这将产生如下所示的数组

array:2 [
  0 => array:2 [
    "filename" => "2_50_0.pdf",
    "description" => "sample pdf.pdf"
  ]
  1 => array:2 [
    "filename" => "2_50_1.png",
    "description" => "sample profile image 2.png"
  ]
]

Php相关问答推荐

Laravel 9如何过滤$的项目与结果?

添加自定义Metabox到WooCommerce管理订单,启用HPOS

PHP:PHP手册-Manual

用于计算付款费用的WooCommerce管理编辑产品中的自定义复选框

laravel中获取的数据会自动更改时间戳值

这是在可召回的背景下吗?

在WordPress中从CPT中删除插件

PHP -流加密启用服务器切断字节

将数据推入所有子数组条目

添加不存在的订单元数据以扩展WooCommerce针对特定产品的管理订单搜索

从 WooCommerce 购物车中删除总计部分,同时保留小计行

我不明白为什么我收到未定义的数组键异常错误 - Laravel 9 PHP 8

主机中未检索用户表数据

Woocommerce 中为空时隐藏显示变体自定义字段数据

使用其ID查询和捕获与订单相关的其他详细信息的shopware 6方法

php/html OnSubmit 禁用输入类型提交未给出预期结果

在帖子内容中使用短代码触发 Woocommerce 挂钩

正则表达式抓取递归括号的内容

如何将在同一台服务器上运行的 2 个 PHP 应用程序与使用公共会话分开

Google Drive - 仅使用 FileID 获取文件的 FileSize