奏鸣曲 | ListMapper 中的自定义字段

Sonata | Custom field in ListMapper

我正在 Sonata doc 中搜索,但找不到是否可行。

我有一个与答案具有一对多关系的实体问题。

在我的 QuestionAdmin 的 ListMapper 中,我想做类似的事情:

$listMapper
  ->addIdentifier('title')
  ->add('countAnswers', IntegerType::class, array(
     'action', 'getCountAnswers'
        )
  );

我知道下面的代码是 wtf 但是 我不知道这是否可行或如何做?

如果您只想在管理列表中显示值,您可以使用简单的 getAnswersCount 函数扩展实体并在管理中引用此字段(函数):

示例参考:

AppBundle\Entity\Questions

public function getAnswersCount() 
{
    return $this->getAnswers()->count();
}

问题管理员

protected function configureListFields(ListMapper $listMapper)
{
    $listMapper
        ->addIdentifier('title')
        ->add('answersCount')
    ;
}