Sylius Grid,如何按实体中不存在的 属性 进行排序

Sylius Grid, how to sort by property that does not exist in entity

我有一个使用 Sylius 创建的网格,效果非常好。

我的网格中的一个字段是指集合的计数属性(裁判)。

我能够显示此集合的计数(裁判计数),但我无法对其进行排序,因为用于填充网格的实体确实 return 任何类型的计数集合。

代码如下所示:

我的 grid.yml 中的字段如下所示:

     refereeCount:
       type: twig
       label: 'Referee Count'
       path: 'referees'
       sortable: ~
       options:
         template: AffiliateBundle:admin/referrer:_refereeCount.html.twig

和 refereeCount.html.twig:

{{ data|length }}

我的裁判 属性 在 Referrer.php 中用于填充上述网格的实体定义如下:

/**
 * @var Referee[]|Collection
 */
 private $referees;

因此,Gird 正确显示 refereeCount,但我无法对其进行排序。

关于我如何能够按此列的长度进行排序,有没有人有任何建议?

我通过为我的 Referee 实体创建一个新的 refereeCount 字段解决了这个问题。我找不到其他解决方法。