【问题标题】:Hos to get a json nested in laravel如何获取嵌套在laravel中的json
【发布时间】:2021-06-21 10:44:08
【问题描述】:

我正在使用 laravel 7

我想要这样的 json:

"declaracion": {
        "situacionPatrimonial": {
            "datosGenerales": {
                "nombre": "Pedro",
                "primerApellido": "Perez",
                "segundoApellido": "García",
                "curp": "BADD110313HCMLNS09",
             }
        }
 }

这个分支工作正常,我生成它没问题:

"datosGenerales": {
            "nombre": "Pedro",
            "primerApellido": "Perez",
            "segundoApellido": "García",
            "curp": "BADD110313HCMLNS09",
           }

我的代码是这样的

$records = [];
    foreach ($declaraciones as $declaracion) {
        $record = [];
        $record['datosGenerales']=$declaracion->datosGeneralesApi($id,$declaracion->servidor_publico);
        $records[] = $record;
        }

        return $records;

datosGeneralesApi 这是一个特性

但我不知道如何在上面添加嵌套分支

"declaracion": { 
        "situacionPatrimonial": {

请问有什么想法吗?提前致谢

【问题讨论】:

    标签: arrays json laravel api


    【解决方案1】:

    我建议使用Eloquent API Resources。您可以轻松地将不同的资源相互嵌套,并以您想要的任何方式构建它们。

    【讨论】:

      【解决方案2】:

      我可能不太明白你的问题,但我希望能帮到你

      $records = [];
      
      foreach ($declaraciones as $declaracion) {
      
        // Here we create the nested items:
        $record = [
          "declaracion" => [
            "situacionPatrimonial" => []
          ]
        ];
      
        // Now access it
        $record["declaracion"]["situacionPatrimonial"]['datosGenerales'] = $declaracion->datosGeneralesApi($id,$declaracion->servidor_publico);
        $records[] = $record;
      }
      
      return $records;
      

      您也可以考虑通过其他几种方式来执行此操作,而无需使用密钥进行访问:

        $record = [
          "declaracion" => [
            "situacionPatrimonial" => $declaracion->datosGeneralesApi($id,$declaracion->servidor_publico);
          ]
        ];
        $records[] = $record;
      

      或者以更结构化的方式创建它:

      // Create the last element:
      $situacionPatrimonial = $declaracion->datosGeneralesApi($id,$declaracion->servidor_publico);
      // Wrap that in the next element:
      $declaration = ["situacionPatrimonial" => $situacionPatrimonial];
      // Now create your record, with the wrapped element:
      $record = ["declaracion" => $declaration];
      $records[] = $record;
      

      我希望这能解释你对嵌套的不理解,即使它不能直接回答你的问题。

      【讨论】:

      • 这正是我需要的 Djave,非常感谢
      猜你喜欢
      • 2021-12-14
      • 1970-01-01
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 2020-10-22
      相关资源
      最近更新 更多