gpt4 book ai didi

symfony - 在sonata admin上导出一对多关系

转载 作者:行者123 更新时间:2023-12-02 11:05:13 24 4
gpt4 key购买 nike

我尝试在网上搜索这个问题的明确解决方案,但对于新手来说确实没有具体的解决方案。

我有一个条目,其中有很多条目列表。在我的 EntryAdmin listMapper 中,我可以轻松地通过语句列出条目,就像

->add('listings')

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

有没有办法在导出数据时通过覆盖 getExportFields() 函数来实现相同的目的,如下所示:

public function getExportFields()
{
return array('name','tel','email','deviceType','postedOn','createdAt','facilitator','listings');
}

非常感谢您的帮助

最佳答案

还有另一种解决方法,您可以在实体中添加一个属性,该属性将获取与该属性相关的所有条目列表,并在相关条目的 getter 函数返回 __toString() 中,我有相同的场景订单,并且还需要与订单关联的产品列表,因此我通过在 orders 实体中创建 exportProducts 来完成此操作

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);
}

为了管理类,我在 getExportFields() 中将 exportProducts 属性定义为

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

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

关于symfony - 在sonata admin上导出一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26189569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com