导出 Sonata Admin 时的自定义列名称

Custom columns name when exporting Sonata Admin

我正在尝试导出一些列,其中很少有自定义值,例如(0=已关闭,1=待定,2=正在修订,3=已批准)。可以导出它们的名称:Closed / Pending 等而不是 0,1,2,3...?怎么样?

我尝试使用 Sonata 中的 getExportFields(),但我所做的只是更改标签。

Id     Name      Status                
 1     Item1       0
 2     Item2       3

Id     Name      Status                
1      Item1     Closed
2      Item2    Approved

是的,为每一列定义一个新的 属性 和实体中的一个方法,它将 return 你为每个值的文本,如

protected $someColumnValueAsText;
public function getSomeColumnValueAsText(){

    if($this->status == 0){
    return 'Closed';
    }
    if($this->status == 1){
    return 'Pending';
    }
    //... and so on
}

并在 getExportFields 中将您的新 属性 定义为

public  function getExportFields(){
    return array(
        'Status'=>'someColumnValueAsText',
         ....// Other properties
        );
}