【发布时间】:2021-01-13 14:15:17
【问题描述】:
我坚持使用 yajra 数据表添加用于编辑和删除按钮的列操作,我使用 DataTables 服务,因为我也想添加导出按钮,这是我的数据表代码:
public function dataTable($query)
{
return datatables()
->eloquent($query);
}
/**
* Get query source of dataTable.
*
* @param \App\InfoDataTable $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(InfoDataTable $model)
{
// return $model->newQuery();
$data = DataInfo::select('data-info.*');
return $this->applyScopes($data);
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->columns($this->getColumns())
->addAction()
->parameters([
'dom' => 'Bfrtip',
'buttons' => ['csv', 'excel', 'print'],
]);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::make('employee_no'),
Column::make('name'),
Column::make('address'),
Column::make('birthplace'),
Column::make('birthdate'),
Column::make('age'),
Column::make('occupation'),
Column::make('status'),
Column::make('gender'),
Column::make('startdate'),
];
}
这是我的控制器中用于渲染表格的代码
public function index(InfoDataTable $dataTable)
{
$User = User::where('id', Auth::id())->first();
if($User->role == 'superadmin'){
return $dataTable->render('superadmin.index');
} else {
return $dataTable->render('admin.index');
}
}
我的刀片看起来像这样
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="card">
<div class="card-header">Dashboard</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
</div>
<div class="card-body">
<div class="table-responsive">
<div class="panel panel-default">
{{(!! $dataTable->table() !!)}}
</div>
</div>
</div>
</div>
</div>
</div>
@stop
@push('scripts')
{!! $dataTable->scripts() !!}
@endpush
my current view looks like this
有什么建议吗?抱歉我的英语不好,尝试了很多教程但找不到正确的教程
【问题讨论】:
-
我对文档感到困惑,我应该把这些代码放在哪里?我的路线?我的控制器或我的数据表代码?
-
@AnggietBracmatya,您正在使用 html 构建器,如果您对 yajra 数据表使用了非 html 构建器,那么我可以帮助您
-
问题是我使用 html builder 因为导出按钮,有什么解决方案吗?感谢您的回复。
标签: laravel eloquent datatables laravel-6 yajra-datatable