php - EasyAdmin 3:OneToMany 字段名称未显示在主页上
问题描述
我创建了两个实体——产品和包装。它们通过 OneToMany 连接(一个产品 - 多个包装)相关联。当我在 EasyAdmin 中打开包装列表时,我可以在包装网格中看到产品名称。但是,如果我在 EasyAdmin 中打开产品列表,我只能看到包装的 id 而不是它们的名称。我应该怎么做才能解决这个问题?谢谢。
class PackingCrudController extends AbstractCrudController
{ ...
public function configureFields(string $pageName): iterable
{
return [
TextField::new('name'),
AssociationField::new('product')->setLabel('Продукты'),
];
}
类 ProductCrudController 扩展 AbstractCrudController { ...
public function configureFields(string $pageName): iterable
{
return [
...
AssociationField::new('packings')
->setLabel('Фасовки')
->setFormTypeOptions([
'by_reference' => false,
]),
解决方案
在您的 Products 实体中,您想创建一个 __toString() 函数来告诉 symfony 如何将您的实体显示为字符串,默认情况下它将选择 id。
在App\Entity\Products.php
public function __toString()
{
return $this->name;
}
推荐阅读
- ios - 在 swift 上替换 NSCoding 的另一种方法
- javascript - 如何在html页面中播放多个视频
- c - 如何通过递归获得C中给定数量元素的集合的子集?
- python - 逻辑回归
- html - 仅部分页面滚动的 html 布局的替代方案
- python - 数“支配者”
- python - 试图通过跟踪使用的字符来创建排列代码
- curl - 如何使用 curl 命令将 html 文件发送到 slack
- php - 当我使用 PHP 5.4 和驱动程序 MSSQL 在服务器上执行存储过程时没有结果
- pytest - gitlab-ci.yml:'脚本:-pytest 找不到任何要检查的测试'