我正在使用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
答案 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 '));
}
并制作视图