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 filenotfounderror:文件是存在的,权限也给了,但还一直报错
  • ¥15 YOLOv5在进行trainpy训练后为什么会出现这种情况(语言-python)
  • ¥15 关于远程桌面的鼠标位置转换
  • ¥15 MATLAB和mosek的求解问题
  • ¥20 修改中兴光猫sn的时候提示失败
  • ¥15 java大作业爬取网页
  • ¥15 怎么获取欧易的btc永续合约和交割合约的5m级的历史数据用来回测套利策略?
  • ¥15 有没有办法利用libusb读取usb设备数据
  • ¥15 为什么openeluer里面按不了python3呢?
  • ¥15 关于#matlab#的问题:训练序列与输入层维度不一样