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

问题描述 投票:0回答:2

我的应用程序存储订单的价格,如下所示:

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

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

symfony symfony5 easyadmin easyadmin3
2个回答
0
投票

我从来没有遇到过这样的用例,但一个想法是使用 easyadmin 事件、AfterCrudActionEvent 或 AfterEntityBuiltEvent,事件分派一个entityDto 对象,该对象拥有您需要的一切(访问实体和字段),您可以获取您的字段和您的字段财产并将您的领域设置为他们的。


0
投票

(方便管理4)

您可以通过 setCurrencyPropertyPath() 方法指定相关货币字段 :


yield MoneyField::new('price_total')->setCurrencyPropertyPath('currency');

© www.soinside.com 2019 - 2024. All rights reserved.