在Yajra datatable返回中发送多个变量,可以通过以下步骤实现:
response()
方法来构建响应数据。在该方法中,将关联数组作为第一个参数传递,并指定数据格式为JSON。data
参数获取到后端返回的数据。根据需要,可以使用data
对象中的键来访问对应的变量数据。以下是一个示例代码:
后端控制器代码(Laravel框架):
use App\Models\User;
use Yajra\DataTables\DataTables;
public function getUsersData()
{
$users = User::select('id', 'name', 'email')->get();
$totalUsers = User::count();
$data = [
'users' => $users,
'totalUsers' => $totalUsers,
];
return DataTables::of($data)
->addColumn('action', function ($user) {
return '<a href="/users/'.$user->id.'/edit">Edit</a>';
})
->rawColumns(['action'])
->make(true);
}
前端页面代码:
<table id="users-table" class="table">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Action</th>
</tr>
</thead>
</table>
<script>
$(document).ready(function() {
$('#users-table').DataTable({
processing: true,
serverSide: true,
ajax: '/get-users-data',
columns: [
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'action', name: 'action', orderable: false, searchable: false }
]
});
});
</script>
在上述示例中,getUsersData()
方法返回了一个包含users
和totalUsers
两个变量的关联数组。users
变量存储了用户数据,totalUsers
变量存储了用户总数。在前端页面的表格中,通过Yajra datatable的data
属性指定了要显示的数据列,并在后端控制器的addColumn()
方法中添加了一个自定义列action
。
请注意,以上示例中的代码是基于Laravel框架和Yajra datatable插件的,如果你使用的是其他框架或插件,可能需要进行相应的调整。
领取专属 10元无门槛券
手把手带您无忧上云