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

现象

image

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

后端日志

local.ERROR: Array to string conversion 

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

解决方案

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

延伸

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

posted @ 2021-08-04 01:10  程序与世界  阅读(409)  评论(0)    收藏  举报