php EasyAdmin:在configureFields中,我如何调用实体方法(在其Dto中不可直接使用)?

8wigbo56  于 2023-10-15  发布在  PHP
关注(0)|答案(1)|浏览(96)

在一个基于Symfony 6和EasyAdmin 4的应用程序中,我正在处理CrudController的configureFields
在Crud索引页面上,我需要显示一个url字段,其值取决于相关实体中的某些逻辑。
这是我的'configureFields'方法:

yield TextField::new("url")
  ->setTemplatePath('admin/field/download-link.html.twig')
  ->hideOnForm();

这是Twig模板admin/field/download-link.html.twig

<a href="{{ entity.Fullpath }}">
    {% if entity.DownloadableExists %}Download{% else %}🛑 FILE ERROR{% endif %}
</a>

问题是:在Twig模板中,entity.DownloadableExists(包含我的自定义逻辑)不存在,因为entityEntityDto的示例,而不是我的真实的实体。
我该怎么办?

83qze16e

83qze16e1#

我刚刚发现entity.instance存在。它给予访问实体的权限,因此解决方案就像entity.instance.DownloadableExists一样简单。

相关问题