【发布时间】:2020-10-22 17:30:55
【问题描述】:
我在 Symfony 4 中使用 SonataAdmin 和 FosUserBundle。
我想使用导出功能以 CSV、JSON 格式导出整个用户的数据......
触发导出时,文件中的角色列为空或为空。
在 UserAdmin 类中,我通过调用特定方法覆盖了 getExportFields 函数,以获取本文中解释的角色。 Sonata admin export fields with collection fields 但它不起作用。
以我为例:
public function getExportFields()
{
return [
'id',
'username',
'roles' => 'rolesExported'
];
}
在我的用户实体中:
public function getRolesExported()
{
$exportedRoles = [];
foreach ($this->getRealRoles() as $role) {
$exportedRoles[] = $role->__toString();
}
return $this->rolesExported = implode(' - ', $exportedRoles);
}
在这种情况下,当我触发导出时,我的网络浏览器会显示错误
“网站无法访问”,dev.log 中没有错误。
当我在getExportFields函数中删除'roles' => 'rolesExported'时,导出触发良好。
- SonataAdmin 版本:3.35
- FosUserBundle 版本:2.1.2
- Symfony 版本:4.3.2(我知道我需要更新它)
【问题讨论】:
-
你做了一些事情,你不想显示代码,你使用了不同的 symfony 版本,那个帖子已经有 2 年了,可能有很多原因为什么它没有工作了。请显示一些代码,并简要说明“它不起作用”的确切含义! (可能意味着从“错误”到“错误输出”到“根本没有效果”)
-
我添加了一些细节来理解这个问题。希望它会有所帮助。
-
附带说明:您应该真正找出错误所在的位置。你是在合适的网络服务器上运行它吗?你在开发环境中运行这个吗?在 web 服务器上,php 日志可能在 [symfony]/var/log/(prod/dev).log 或 /var/log/php_errors(.log) 或 /var/log/php-fpm/errors 中。日志或其他一些通用日志文件。
标签: symfony symfony4 fosuserbundle sonata-admin