EasyAdmin 3(Symfony 5)使用ArrayField展示JSON数组报数组转字符串错误
ArrayField展示JSON数组报错解决方案
出现Notice: Array to string conversion报错并非实现方式不可行,是因为缺少ArrayField的必要配置,按以下步骤调整即可:
- 第一步:确认实体字段的Doctrine映射类型为json
示例实体配置:#[ORM\Column(type: 'json')] private array $status = []; - 第二步:补充ArrayField的渲染配置
调整后的configureFields代码如下:public function configureFields(string $pageName): iterable { return [ ArrayField::new('status', $this->translator->trans('form.label.status')) ->onlyOnDetail() ->setFormTypeOption('block_prefix', 'array') ->setTemplatePath('@EasyAdmin/crud/field/array.html.twig'), ]; } - 可选优化配置:如果需要美化JSON输出效果,可追加
formatValue配置ArrayField::new('status', $this->translator->trans('form.label.status')) ->onlyOnDetail() ->setFormTypeOption('block_prefix', 'array') ->setTemplatePath('@EasyAdmin/crud/field/array.html.twig') ->formatValue(function ($value) { return $value ? json_encode($value, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) : ''; }),
内容的提问来源于stack exchange,提问作者madebyjo_l
相关产品推荐
相关产品推荐

