2016-04-28 4 views
0

Ich benutze Laravel 5 und ich möchte Feld in jenis_surat Spalte in der Datenbank zu meiner Tabelle mit Daten Tabellen anzeigen. Ich möchte JSON verwenden, wissen Sie, wie die Nummer angezeigt wird, hängt von den Dateneinträgen ab.
hier mein Controller ist (Es zeigt nur Daten in jenis_surat):Wie werden Daten auf Datenträgern mit Laravel 5 angezeigt?

public function jenissurat() 
{return view('jenissurat');} 

    public function datajenissurat() 
{ 
    $jenissurat = new JenisSurat(); 
    $jenissurats = $jenissurat->select('jenis_surat')->get(); 
    return $jenissurats; 
} 

Und wie es zur Anzeige auf Datentabellen? Beispiel:

Nein. Jenis Surat. .Action
1.. .EIN . . . . . . . . . Bearbeiten | Löschen
2.. .B. . . . . . . . . Bearbeiten | Löschen
3.. .F. . . . . . . . . Bearbeiten | Löschen

<table id="jenissurat" class="table table-bordered table-striped" cellspacing="0" widht="100%"> 
      <thead> 
      <tr> 
       <th width="4%">No.</th> 
       <th width="80%">Jenis Surat</th> 
       <th width="16%">Action</th> 
      </tr> 
      </thead> 
     </table> 
     <script type="text/javascript"> 

      $(document).ready(function(){ 
      $('#publish').DataTable({ 
       'columns' : [ 
       {'data' : 'jenis_surat'} 
       ] 
      }); 
      }); 

     </script> 

Hier ist meine Route:

Route::get('/jenissurat', [ 
'uses' => '[email protected]', 
'as' => 'jenissurat' 
]); Route::get('/datajenissurat', [ 
'uses' => '[email protected]', 
'as' => 'datajenissurat' 
]);here 

Antwort

1

Versuchen Sie, ich bin nicht sicher, ob dies eine optimale Lösung aus der Sicht der Performance ist .

public function jenissurat() 
{ 
    $returnValue = $this->datajenissurat(); 
    return view('jenissurat', compact('returnValue')); 
} 

public function datajenissurat() 
{ 
    $jenissurat = new JenisSurat(); 
    DB::statement(DB::raw('set @rownum=0')); 

    $jenissurats = $jenissurat->select([DB::raw('@rownum := @rownum + 1 AS rownum'), 'jenis_surat'])->get(); 
    return $jenissurats; 
} 

Und in Bezug auf die Datentabellen können Sie so etwas wie diese hinzufügen.

<script> 

    $(function() { 

     var oTable = $('#publish').DataTable({ 
      bProcessing : true, 
      serverSide  : true, 
      /* sDom   : 'p', */ 
      dom   : 'Bfrtip', 
      ajax: { 
      url: '{!! route("datajenissurat") !!}', 
      data: function (d) { 

      } 
     },   
     columns: [ 
     { data: 'rownum', name: 'rownum' ,orderable: false, searchable: false }, 
     { data: 'jenis_surat', name: 'jenis_surat' }, 
     { data: 'action', name: 'action', orderable: false, searchable: false } 
     ] 
    }); 
    }); 
    </script> 

Ich sehe eine Spalte bearbeiten/löschen, die von der Aktion Spalte verwendet werden kann. Der Ajax-Aufruf an Ihre Controller-Funktion datajenissurat() gibt also ein JSON-Array zurück, das mit dem Dataset-Skript analysiert werden kann.

+0

Ich habe einen Fehler "Class 'App \ Http \ Controller \ DB' nicht gefunden" – hendraspt

+1

hinzufügen 'Verwenden DB; 'oben auf Ihrem Controller ODER \ DB in Ihrer Abfrage verwenden. – VipindasKS

+0

ja es funktioniert, danke. Und wissen Sie, wie die JSON-Daten auf den Datenträgern angezeigt werden? – hendraspt

0
public function datajenissurat() 
{ 
    $jenissurats = $jenissurat->select('jenis_surat')->get(); 
    return view('view.show', compact('jenissurats ')); 
} 

und auch diese machen Ansicht

+0

es funktioniert nicht. Ich gebe den Link ein, um den JSON anzuzeigen, aber es ist ein Fehler aufgetreten. Meine Funktion funktionierte bereits, aber ich möchte die Nummer Spalte no anzeigen, die nicht in der Datenbank ist. – hendraspt

+0

Können Sie Ihr JSON-Format freigeben – abhayendra

Verwandte Themen