📅  最后修改于: 2023-12-03 15:06:05.691000             🧑  作者: Mango
Yajra Laravel Datatables
是一个 Laravel 的强大扩展,可以帮助程序员快速生成数据表格,并带有各种自定义功能。其中,RawColumn
是 Yajra Laravel Datatables
中的一个重要组件。本文将介绍如何使用Yajra Laravel Datatables
的 RawColumn
功能。
RawColumn
允许你在表格中添加一列,该列包含在 SELECT
语句中传递的未经处理的原始值。这是一个十分有用的功能,可以让自定义数据列的显示变得简单。
首先,我们需要在控制器中创建一个 DataTables
实例。假设我们要在 User
数据表中创建一个带有 id
和 name
列的数据表格,我们可以按照以下方式实现:
use Yajra\DataTables\DataTables;
class UserController extends Controller
{
public function index(Request $request)
{
if ($request->ajax()) {
$users = User::select(['id', 'name']);
return Datatables::of($users)->make(true);
}
//以表格形式返回数据
return view('users.index');
}
}
其次,在 DataTables
实例中使用 rawColumns
方法来添加 RawColumn
。我们可以按照以下方式实现:
use Yajra\DataTables\DataTables;
class UserController extends Controller
{
public function index(Request $request)
{
if ($request->ajax()) {
$users = User::select(['id', 'name']);
return Datatables::of($users)
->rawColumns(['name'])->make(true);
}
//以表格形式返回数据
return view('users.index');
}
}
在上面的例子中,我们传递的参数 name
是一个我们希望直接显示原始值的列。使用 rawColumns
方法来告诉 Yajra Laravel Datatables
,我们希望 name
列显示原始值而不是经过格式化的值。
最后,在 blade 模板中,我们需要使用 {!! !!}
语法来显示包含 HTML 标签的原始值。例如:
<table id="users-table" class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
</table>
<script>
$(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '/users',
columns: [
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name', orderable: false, searchable: false },
]
});
});
</script>
在上面的例子中,我们使用 {!! !!}
语法来显示 name
列的原始值。现在,我们就可以轻松地使用 RawColumn
显示用户列表中的原始值了。
Yajra Laravel Datatables
的 RawColumn
功能是一个非常有用的工具,可以帮助我们快速地显示原始数据。通过对 DataTables
实例调用 rawColumns
方法,并使用 {!! !!}
语法在 blade 模板中显示原始值,我们可以使用 RawColumn
功能轻松地自定义数据表格的视图。