📜  yajra laravel datatables rawcolumn - PHP (1)

📅  最后修改于: 2023-12-03 15:06:05.691000             🧑  作者: Mango

使用 Yajra Laravel Datatables RawColumn

Yajra Laravel Datatables 是一个 Laravel 的强大扩展,可以帮助程序员快速生成数据表格,并带有各种自定义功能。其中,RawColumnYajra Laravel Datatables 中的一个重要组件。本文将介绍如何使用Yajra Laravel DatatablesRawColumn 功能。

什么是 RawColumn

RawColumn 允许你在表格中添加一列,该列包含在 SELECT 语句中传递的未经处理的原始值。这是一个十分有用的功能,可以让自定义数据列的显示变得简单。

如何使用 RawColumn

首先,我们需要在控制器中创建一个 DataTables 实例。假设我们要在 User 数据表中创建一个带有 idname 列的数据表格,我们可以按照以下方式实现:

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 DatatablesRawColumn 功能是一个非常有用的工具,可以帮助我们快速地显示原始数据。通过对 DataTables 实例调用 rawColumns 方法,并使用 {!! !!} 语法在 blade 模板中显示原始值,我们可以使用 RawColumn 功能轻松地自定义数据表格的视图。