laravel-admin 后台导出excel数据报错

现象

laravel-admin 后台导出excel数据报错

导出单条,导出本页都全成功,导出全部失败,php响应500。随即排查。

后端日志

local.ERROR: Array to string conversion 

laravel-admin 后台导出excel数据报错
日志表明该行处理数据应该是字符串的却传了个数组,说明页面数据自定义的地方有返回一个数组。继续排查代码,果不其然,有个自定义数据业务方法小伙伴写成了返回字符串和数组两种情况。

解决方案

grid数据格式不能用数组,虽然array数据在grid界面能正常显示,但是导出会异常,触发底层兼容问题。
返回数组时laravel-admin grid渲染成了数组打印值。如下图。
laravel-admin 后台导出excel数据报错

延伸

虽然php是弱类型语言,但是我们在实际编码过程中局部业务逻辑返回数据类型一定要统一。

上一篇:laravel 框架 ajax无页面刷新删除


下一篇:2021-07-24