сделать вложенный массив для запроса laravel - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь добавить вложенный массив в запрос от моего представления к контроллеру. Я динамически сгенерировал форму в моем представлении следующим образом:

Мой вид:

My Form View

Запрос в настоящее время выглядит так:

enter image description here

Как можно перевернуть мой запрос следующим образом:

"akunbelanja_id" => array:3 [▼
    0 => "1" => array:3 [▼
        0 => "topi"
        1 => "pensil"
        2 => "baju"
    ]
    1 => "2" => array:2 [▼
        0 => "kertas"
        1 => "tinta"
    ]                         
    2 => "3" => array:1 [▼
        0 => "botol"
    ]
]

Возможно ли это? Нужно ли мне дополнительно Javascript или JQuery? И, если возможно, как я могу получить доступ к каждому объекту данных в моем контроллере?

1 Ответ

0 голосов
/ 16 января 2020

В поле зрения

<script type = "text/javascript" >
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content');
        }
    });

function sendData() {
    // Your nested JS array goes here
    var data =  [
       {
          "1" : {0 : "topi",1 : "pensil",2 : "baju"}
       },
       {
          "2" : {0 : "kertas",1 : "kertas"}
       },
       {
          "3" : {0 : "botol"}
       }
    ];
    $.ajax({
        url: '/test',
        type: 'POST',
        dataType: 'json',
        contentType: 'json',
        data: JSON.stringify(data),
        contentType: 'application/json; charset=utf-8',
    });
} 
</script>

В контроллере

function saveJson(Illuminate\Http\Request $request)
{
    $data = json_decode($request->getContent());
}
...