gpt4 book ai didi

symfony - EasyAdmin 3.X - 如何查看相关实体 `toString` 而不是列表中的关联数量?

转载 作者:行者123 更新时间:2023-12-03 23:59:28 24 4
gpt4 key购买 nike

我有一个实体 Product 与实体 Category 的多对多关系

/**
* @ORM\ManyToMany(targetEntity="App\Domain\Category", inversedBy="stalls")
*/
private $categories;

//...

/**
* @return Collection|Category[]
*/
public function getCategories(): Collection
{
return $this->categories;
}
ProductCrudController 类中,我有以下 configureFields 方法:
public function configureFields(string $pageName): iterable
{
return [
Field::new('name'),
Field::new('description'),
AssociationField::new('categories'),
];
}
在创建/编辑 Product 时,关系中的一切都按预期工作,但在产品列表中,而不是显示相关类别,我看到了产品具有的类别数量。我怎样才能改变这种行为?
在下图中,第一个产品有 1 个类别,列表中的第二个产品有 2 个不同的类别。我希望在此处显示类别的名称。
enter image description here
附带说明: Category 类有一个 __toString 方法返回类别的名称。
编辑:
我正在寻找的行为与下图中的 Tags 列相同:
enter image description here

最佳答案

您可以使用 formatValue 方法格式化值,如下所示:

->formatValue(function ($value, $entity) {
$str = $entity->getCategories()[0];
for ($i = 1; $i < $entity->getCategories()->count(); $i++) {
$str = $str . ", " . $entity->getCategories()[$i];
}
return $str;
})

关于symfony - EasyAdmin 3.X - 如何查看相关实体 `toString` 而不是列表中的关联数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63728259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com