2016-05-15 19 views
1

Ich benutze Laravel 5.2 Framework. Ich habe erfolgreich Databases implementiert. Das Problem ist, dass mein Anwendungsdesign die Implementierung von Tabellen innerhalb der Datentabelle erfordert. Ich habe keine Ahnung, wie ich das machen soll, da ich neu in Laravel bin. Ich habe tagelang gegoogelt, daher wird diese Hilfe geschätzt.Tabelle in einer datatablen Zelle Laravel 5.2

Antwort

1

Es ist nicht wirklich direkt möglich, wenn Sie Ihren eigenen Tisch und Stil es mit CSS definieren als

Gerstenkörnern für meine innere Tabelle auf meiner Ansicht

<style type="text/css"> 

    h3 { 
     color: steelblue; 
    } 
    .subtabletable { 
     display: table; 
     width: 100%; 
     } 
    .subtable .row { 
    display: table-row; 
     } 
    .subtable .header { 
    font-weight: bold; 
    } 
    .subtable .cell { 
    display: table-cell; 
    padding: 5px; 
    } 

    </style> 

Definition meiner Tabelle in Html

definiert folgen
<table id="example" class="display responsive nowrap" cellspacing="0" width="100%"> 

Mein Javascript

  $(document).ready(function() { 




var request = $.ajax({ 
           url: "sort_respones", 
           type: "GET", 
           dataType: "html" 
           }); 



        request.done(function(msg){ 
         dynamicdatatable(msg); 
        }); 


    }); 

    function dynamicdatatable(mydata){ 
var myData=JSON.parse(mydata) ; 
console.log(myData); 
var myColumns = [ 
    { 
     title : "Employee", 
     data : "question" 
    }, 
    { 
     title : "Type", 
     data : "response_type" 
    }, 
    { 
     title : "Responses", 
     data : null, 
     render : function (data, type, row, meta) { 
      var subtableHtml = "<div class='subtable'>"; 
      subtableHtml += "<div class='row header'><span class='cell'>Response</span><span class='cell'>Occurances</span></div>"; 
      for (var i = 0; i < data.projects.length; i++) { 
       subtableHtml += "<div class='row'>"; 
       subtableHtml += "<span class='cell'>" + data.projects[i].project + "</span>"; 
       subtableHtml += "<span class='cell'>" + data.projects[i].role + "</span>"; 
       subtableHtml += "</div>"; 
      }; 
      subtableHtml += "</div>"; 
      return subtableHtml; 
     } 
    } 
]; 

$('#example').dataTable({ 
    searching: false, 
    paging: false, 
    data : myData, 
    columns : myColumns, 
    dom: 'Bfrtip', 
    buttons: [ 
     'copyHtml5', 
     'excelHtml5', 
     'csvHtml5', 
     'pdfHtml5' 
    ] 
    }); 


} 

Meine Reglerfunktion

function sort_respones(Request $request){ 

    $results = DB::select(DB::raw("SELECT 
       questions.id, 
       questions.question, 
       questions.client_id, 
       surveys_session_answer_transactions.created_at, 
       surveys_session_answer_transactions.answer_text, 
       surveys_session_answer_transactions.answer_id, 
       surveys_session_answer_transactions.question_text, 
       questions.response_type_id, 
       Count(surveys_session_answer_transactions.answer_id) AS Occurances, 
       checkresponses.response, 
       radioresponses.response, 
       rating_bar_responses.maximum_value, 
       response_types.response_type 
       FROM 
       questions 
       INNER JOIN surveys_session_answer_transactions ON surveys_session_answer_transactions.question_id = questions.id 
       LEFT OUTER JOIN checkresponses ON checkresponses.question_id = surveys_session_answer_transactions.question_id AND checkresponses.id = surveys_session_answer_transactions.answer_id 
       LEFT OUTER JOIN rating_bar_responses ON rating_bar_responses.question_id = surveys_session_answer_transactions.question_id 
       LEFT OUTER JOIN radioresponses ON radioresponses.question_id = surveys_session_answer_transactions.question_id AND radioresponses.id = surveys_session_answer_transactions.answer_id 
       INNER JOIN response_types ON surveys_session_answer_transactions.response_type_id = response_types.type_id 
       where questions.client_id=:somevariable 
       GROUP BY 
       surveys_session_answer_transactions.question_id, 
       surveys_session_answer_transactions.answer_id"), array(
      'somevariable' => "2", 
     )); 

    //echo '<pre>'.print_r($results,1) .'</pre>'; 

      // echo '<pre>'; 
    //  var_dump($results); 
    //  echo '</pre>'; 
    $new_question=0; 
    $dataUsage=[]; 
    $final_array=[]; 
    $responses=[]; 
    $old_response="";$old_response_type=""; 
    foreach ($results as $key) { 
     # code... 
     if ($new_question!=$key->id) { 
      # code... 
      if (isset($dataUsage[0])) { 
       # code... 

       array_push($final_array, array('question' =>$old_response,'response_type'=>$old_response_type,'projects' => ($responses))); 
       $responses=[]; 

       //array_push($final_array, $dataUsage); 
       $dataUsage=[]; 
       $responses_string="<table>"; 
      } 
     array_push($dataUsage, array('question' => $key->question,'response_type'=>$key->response_type)); 
      $old_response=$key->question; 
      $old_response_type=$key->response_type; 
     // $responses_string='<TR><TD>'.$key->answer_text.'</TD><TD>: '.$key->Occurances.'<br></TD></TR>'; 
      array_push($responses,array('project' => $key->answer_text, 'role' => $key->Occurances)); 
       }else{ 
     // $responses_string=$responses_string.'<TR><TD>'.$key->answer_text.'</TD><TD> :'.$key->Occurances.'<br></TD></TR>'; 
     array_push($responses,array('project' => $key->answer_text, 'role' => $key->Occurances));   

     } 
     $new_question=$key->id; 
    } 
     array_push($final_array, array('question' =>$old_response,'response_type'=>$old_response_type,'projects' => ($responses))); 


     // echo '<pre>'; 
     // var_dump($final_array); 
     // echo '</pre>'; 
    // echo json_encode(array('data' =>$final_array)); 
    // $myData = array(array('employee' =>'Bob Smith', 'projects'=>   array(array('project'=>'Alpha', 'role'=>'leader'), array('project'=>'Alpha1', 'role'=>'leader1'),array('project'=>'Alpha', 'role'=>'leader')))); 
    echo json_encode($final_array); 
} 

natürlich nicht über die notwendigen Routen

+0

dank vergessen es funktionierte. Aber deine Frage? –

+0

Zu faul, das zu eloquent zu ändern. Froh, dass Sie das erkennen –

+0

Vielleicht können Sie mir auch helfen mit JavaScript/jquery Bild, Orientierung, Komprimierung und Posting Ich habe Probleme –