Как заполнить таблицу из JSON двумя объектами внутри? - PullRequest
1 голос
/ 25 февраля 2020

Я получил ниже JSON как результат из базы данных через вызов json_encode

[
   {
        "id":1,"FullName":"Duce",     
        "subjects": [
                {
                  "id":1,
                 "SubjectName":"Phy",
            
          "pivot":{
                "student_id":1,
                "subject_id":1       
              }
            }   
          ],

      "topics": [
               
               {
                 "id":1,
                 "TopicName":"Meas",
                 "Subject_id":"1",
                
                     "pivot":{
                         "student_id":1,
                         "topic_id":1,
                         "Price":15000,
                 
                 } 
              }
         ]
   }
]

Мне нужно добиться чего-то подобного

  ------------------------------------------------------------------------------------------------------------------
  ID        Subject Name             Topics Name                   Price                Action
--------------------------------------------------------------------------------------------------------------------
  1            Phy                     Meas                          15000                X
 
  2            -----                   ----                          -----
                              
-------------------------------------------------------------------------------------------------------------------

Я пытался использовать Jquery Ajax каждый метод для прохождения через каждый объект в ответах на данные, как показано ниже, но получил ожидаемые результаты

 let rows = '';

            $.get(URL_GET_STUDENT,
                 function (data ,status) {
                  console.log(data);
                   $.each(data ,function (key ,value) {

                         $("#FullName").val(value.FullName);
                      
                         $.each(value.subjects ,function (key1 ,value1 ) {
                              rows += "<tr>" +
                                          "<td>" +
                                            "<select class='form-control subject_selected' name='subject[]' id='subject' data-id='0' required>" +
                                             "<option>"+ value1.SubjectName +"</option>" +
                                           "</select>" +
                                       "</td>" +
                                       "<td>";
                         });

                       $.each(value.topics ,function (key2 ,value2 ) {

                           rows += "<select class='form-control topic_selected' name='topic[]' id='topic' data-id='0' required>" +
                               "<option>" + value2.TopicName + "</option>" +
                               "</select>" +
                               "</td>" +
                               "td>" +
                               "<input type='text' class='form-control Amount' name='Amount[]' id='Amount' value='"+ value2.TopicName +"'/>" +
                               "</td>" +
                               "<td>" +
                               "<a href='javascript:void(0)'  class='btn btn-danger remove'>X</a>" +
                               "</td>"+
                               "</tr>";
                       });


                     });
                     $("#table_tuition_fee").append(rows);
            });   

Что ниже enter image description here

Кто-нибудь, кто может помочь мне достичь вышеуказанного результата? Я действительно ценю вашу помощь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...