Symfony Api 平台:通过自定义实体方法对结果进行排序

问题描述 投票:0回答:1

在我的 Symfony Api 平台项目中,我有一个实体

Community
,其自定义方法
getTotalMembers()
返回社区中的成员数量。但是,当我尝试订购结果时,它不起作用。

#[ApiFilter(OrderFilter::class, 
      properties: ['id', 'name', 'totalMembers'], 
      arguments: ['orderParameterName' => 'order']
)]

/**
 * @return int current number of users that are members of this community
 */
#[Groups(['community:read','community:read_list'])]
public function getTotalMembers(): ?int
{
    return $this->members->count();
}

有没有简单的方法让它发挥作用?

php rest symfony api-platform.com
1个回答
1
投票

考虑将方法更改为常规字段,在成员更改时重新计算。您当前的实现是一种非常“hacky”的方式来处理该主题,并且可能在生产环境中遇到困难。

© www.soinside.com 2019 - 2024. All rights reserved.