Symfony 在GraphQL中使用自定义标识符时,OneToMany关系返回空/错误数据

Symfony 在GraphQL中使用自定义标识符时,OneToMany关系返回空/错误数据,symfony,graphql,doctrine,api-platform.com,symfony5,Symfony,Graphql,Doctrine,Api Platform.com,Symfony5,我正在使用symfony5构建graphqlapi 当使用非主键时,OneToMany结果集返回null或错误数据。导致此问题的原因是,从OneToMany表中提取数据时,使用自定义标识符值而不是主键 示例 表Blog具有自定义标识符slug和主键id。此表与表映像具有OneToMany关系 以下是获取数据时进行的查询: SELECT b0_.id AS id_0, b0_.content AS content_1, b0_.slug AS slug_3 FROM blog b0_ WHERE

我正在使用symfony5构建graphqlapi

当使用非主键时,OneToMany结果集返回null或错误数据。导致此问题的原因是,从OneToMany表中提取数据时,使用自定义标识符值而不是主键

示例

表Blog具有自定义标识符slug和主键id。此表与表映像具有OneToMany关系

以下是获取数据时进行的查询:

SELECT b0_.id AS id_0, b0_.content AS content_1,  b0_.slug AS slug_3 FROM blog b0_ WHERE b0_.slug = "highest peak"

SELECT i0_.id AS id_0, i0_.src AS src_1 FROM image i0_ WHERE i0_.blog_id = "highest peak" ORDER BY i0_.id ASC LIMIT 30
从图像中提取时,应该在参数中发送Blog ID,但使用slug


然而,在REST中,一切都很顺利。使用GraphQL时遇到问题。

从2.5.6降级到2.5.4修复了该问题

可能的问题


src/Bridge/Doctrine/Orm/SubresourceDataProvider.php在版本2.5.5上更新,从2.5.6降级到2.5.4,修复了该问题

可能的问题


src/Bridge/Doctrine/Orm/SubresourceDataProvider.php在2.5.5版上更新了

您是否在ID上定义了ApiProperty(identifier=false),在自定义标识符字段上定义为true?如果是这种情况,平台通常与条令共享标识符,并且如果配置正确,应该可以工作。@MaulikParmar YesUpdated问题及可能的修复您是否在ID上定义了ApiProperty(identifier=false),在自定义标识符字段上定义为true?如果是这种情况,平台通常与条令共享标识符,并且如果配置正确,平台应该可以工作。@MaulikParmar是的,有可能解决问题