Dcat Admin内置了导出功能,非常简单,一句代码就可以开启列表导出功能:
$grid->export();
但是如果表格中存在关联数据,那么导出的时候,显示的是空白,解决办法如下:
$titles = ['id' => 'ID', 'name' => '名称', 'email' => '邮箱', 'role_name' => '角色'];
$grid->export()->titles($titles)->rows(function ($rows) {
foreach ($rows as $index => &$row) {
// 这里假设role就是关联数据
$row['role_name'] = $row['role']['name'];
}
return $rows;
});
先设置列标题,然后在循环里根据实际需要设置特定标题的数据即可。