dsfb20227 2018-05-10 12:11 采纳率: 0%
浏览 162
已采纳

在laravel php的put存储方法中传递json数组表单

iam trying to pass $data array to save it in the laravel storage files my code is :

$data = '[
            {
                "label": " Total Accidents",
                "color": "#5ab1ef",
                "data": 
                    [
                        ["Jan",0],
                        ["Feb",0],
                        ["Mar",0],
                        ["Apr",0],
                        ["May",0],
                        ["Jun",0],
                        ["Jul",0],
                        ["Aug",0],
                        ["Sep",0]
                    ]
            },
            {
                "label": " Active Experts",
                "color": "#f5994e",
                "data": 
                    [
                        ["Jan",0],
                        ["Feb",0],
                        ["Mar",0],
                        ["Apr",0],
                        ["May",0],
                        ["Jun",0],
                        ["Jul",0],
                        ["Aug",0],
                        ["Sep",0]
                    ]
            },
            {
                "label": " Pending Payments",
                "color": "#d87a80",
                "data": 
                    [
                        ["Jan",0],
                        ["Feb",0],
                        ["Mar",0],
                        ["Apr",0],
                        ["May",0],
                        ["Jun",0],
                        ["Jul",0],
                        ["Aug",0],
                        ["Sep",0]
                    ]
            }

      ]';   
 $test = json_decode($data, true);
 $test[0]['data'][1] =  ["Jan", 153];
 Storage::disk('chartData')
    ->put('chart/test'.$_SESSION['companyId'].'.json', $test);
 return 'done';

i want to change the values inside each year according to database values , the problem is that when iam trying to put method iam getting the following error :

Array to string conversion

if i pass $data array without doing json_decode it works fine , but in this case i cant change the data isnide the array , so i have to decode it .

  • 写回答

1条回答 默认 最新

  • duanjing9739 2018-05-10 12:20
    关注

    In this case you should use json_encode function to convert your JSON data to string.

    $test[0]['data'][1] =  ["Jan", 153];
    
    $test = json_encode($test);// convert to string
    
    Storage::disk('chartData')
    ->put('chart/test'.$_SESSION['companyId'].'.json', $test);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵