如何在 EasyAdmin 3 (Symfony) 的 configureFields() 中获取另一个字段的值?

问题描述

我的应用程序像这样存储订单的价格:

id|price_total|currency|
--|-----------|--------|
 1|     127.65|EUR     |
 2|     197.65|USD     |
 3|     294.95|EUR     |

我需要在 EasyAdmin 3 中显示内容

# BuyOrderCrudController.PHP
public function configureFields(string $pageName): iterable
{

...
    yield CurrencyField::new("currency");
    yield MoneyField::new('price_total')
                ->setCurrency('EUR');
...
}

我需要通过从 EUR 字段获取 ->setCurrency('EUR')EUR 值来修复 USD 中的硬编码 currency

我不知道要使用什么语法或函数

解决方法

我从来没有这样的用例,但一个想法是使用easyadmin事件,AfterCrudActionEvent或AfterEntityBuiltEvent,事件调度一个entityDto对象,它拥有你需要的一切(访问实体和字段),你可以获得你的字段和您的财产,并将您的领域设置为它们。