簡體   English   中英

如何在 SonataAdminBundle 中自定義導出

[英]How to custom export in SonataAdminBundle

我正在嘗試找到一種在我的實體管理員上自定義導出 csv 的方法。

理想情況下,我需要從實體的函數中提取數據以將其放入 csv 文件中。

我列出了要使用 configureExportFields() 函數提取的字段,並且我嘗試使用 getDataSourceIterator() 方法修改請求,但似乎導出出錯。

如果有人知道如何使用默認奏鳴曲導出來做到這一點

我的奏鳴曲版本:

sonata-project/admin-bundle              4.x-dev 9eb2c5f The missing Symfony Admin Generator
sonata-project/block-bundle              4.6.0           Symfony SonataBlockBundle
sonata-project/cache                     2.1.1           Cache library
sonata-project/doctrine-extensions       1.13.0          Doctrine2 behavioral extensions
sonata-project/doctrine-orm-admin-bundle 4.x-dev 7dfe372 Integrate Doctrine ORM into the SonataAdminBundle
sonata-project/exporter                  2.7.0           Lightweight Exporter library
sonata-project/form-extensions           1.9.0           Symfony form extensions
sonata-project/twig-extensions           1.6.0           Sonata twig extensions

在 PHP 8.0.7 上

好的,我找到了這個解決方案, Sonata admin export fields with collection fields

您必須擁有一個屬性而不僅僅是函數,並在函數返回中設置該屬性。

這個對我有用

protected function configureExportFields(): array
{
    return [
        
        'Preferred area' => 'user.preferredNavigationAreaAddress',
        
    ];
}

在我的實體中:

protected string $preferredNavigationAreaAddress;

public function getPreferredNavigationAreaAddress(): string
{
    $preferredArea = $this->getNavigationAreas()->filter(
        function ($navigationArea) {
            return true === $navigationArea->isPreferred();
        }
    )->first();

    return $this->preferredNavigationAreaAddress = $preferredArea->getFullAddress();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM