如何使用laravel 5在数据表上显示数据?

时间:2016-04-28 02:23:25

标签: php json datatable laravel-5 datatables

我正在使用laravel 5,我想使用datatables在数据库的jenis_surat列中显示字段到我的表。我想使用JSON,你知道如何显示数量取决于数据的条目。
这是我的控制器(它只是在jenis_surat中显示数据):

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

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

如何在数据表中显示?例如:
号码Jenis Surat。 .Action
1。 。 。一个 。 。 。 。 。 。 。 。 。编辑|删除
2。 。 .B。 。 。 。 。 。 。 。 。编辑|删除
3。 。 。F 。 。 。 。 。 。 。 。 。编辑|删除

<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>

这是我的路线:

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

2 个答案:

答案 0 :(得分:1)

试一试,从性能的角度来看,我不确定这是一个最佳解决方案。

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;
 }

关于Datatables,您可以添加类似的内容。

  <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>

我看到了一个可以被action列使用的编辑/删除列。因此,对控制器函数datajenissurat()的ajax调用将返回一个json数组,可以使用数据表脚本对其进行解析。

答案 1 :(得分:0)

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

并制作视图