Sonata Admin中的getExportFields函数

时间:2014-07-08 08:25:36

标签: symfony sonata-admin symfony-sonata

我想知道如何在Sonata Admin扩展Class中自定义getExportFields函数。

我的问题是我的类字段createdAt类型是datetime但是我想在管理员下载这个类数据然后用CSV或XLS文件createdAt格式DATE,而不是datetime。

我希望通过加入其他表格来显示CSV或XLS文件中的数据。

我在google上搜索了很多次但没有找到。

我尝试加入这个但我没有成功 -

public function getExportFields()
{
$em = $this->modelManager->getEntityManager('ABC\FroBundle\Entity\Model');
$conn = $em->getConnection();
$query = "SELECT mp.id, mp.userModel, u.email, m.model_name
        FROM model_p mp
        LEFT JOIN user u ON mp.user_id = u.id
        LEFT JOIN m_model m ON mp.model_id = m.id limit 1";
$statement = $conn->prepare($query);
$statement->execute();
$results = $statement->fetchAll();
foreach($results as $res){
    $reets = $res;
}
  $fieldsArray = $reets;
}

任何人都知道此类问题请帮助。

我在Github上问过这个问题: - https://github.com/sonata-project/SonataAdminBundle/issues/2221

谢谢!

1 个答案:

答案 0 :(得分:0)

也许@Petr Slavicek的解决方案可以提供帮助: 原始问题:symfony2 - SonataAdminBundle Exporter issue with mapped entities - Stack Overflow

尝试在对象上使用Doctrine DateTime格式化程序,例如:

if ($value instanceof \DateTime) {
    $value = $this->dateFormater->format('d.m.Y');
}