我的应用程序存储订单的价格,如下所示:
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 对象,该对象拥有您需要的一切(访问实体和字段),您可以获取您的字段和您的字段财产并将您的领域设置为他们的。
(方便管理4)
您可以通过 setCurrencyPropertyPath() 方法指定相关货币字段 :
yield MoneyField::new('price_total')->setCurrencyPropertyPath('currency');