我已经尝试过在线搜索该问题的明确解决方案,但是对于新手来说,确实没有具体的解决方案。

我有一个条目,其中包含许多EntryListing。在我的EntryAdmin listMapper中,我可以轻松地通过一条语句列出条目,如下所示:

->add('listings')

它只是返回EntryListing __toString()函数中定义的列表。

通过覆盖如下所示的getExportFields()函数,在导出数据时是否可以实现相同的方法:
public function getExportFields()
{
    return array('name','tel','email','deviceType','postedOn','createdAt','facilitator','listings');
}

非常感谢您的帮助

最佳答案

有另一种解决方法,您可以在实体中添加一个属性,该属性将获取与之相关的所有条目 list ,并在getter函数中返回相关条目的__toString(),我的订单情况相同,如果与订单相关的产品也需要该 list ,我通过在exportProducts实体中创建orders来做到这一点

protected $exportProducts;

public function getExportProducts()
{
    $exportProducts = array();
    $i = 1;
    foreach ($this->getItems() as $key => $val) {
        $exportProducts[] = $i .
           ') Name:' . $val->getProduct()->__toString()() .
           ' Size:' . $val->getProductsize() .
           .../** Other properties */;
        $i++;
    }
    return $this->exportProducts = join(' , ', $exportProducts);
}

并且为了管理类,我在exportProducts中定义了getExportFields()属性为
public  function getExportFields(){
    return array(
        'Products'=>'exportProducts',
         ....// Other properties
        );
}

在下载的csv中,每个订单都包含在Products单元格下的产品列表(以逗号分隔的列表)

09-11 19:58