微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB Doctrine ODM API 平台 EmbedMany GraphQL

如何解决MongoDB Doctrine ODM API 平台 EmbedMany GraphQL

我正在处理一个基于 PHP 7.4 和 MongoDB 的 api 平台项目。我创建了一个带有注释 Product 的类 (@ODM\Document)。 Product 的字段 reviews 带有注释 @ODM\EmbedMany(targetDocument="App\Entity\Review")

Review一个带有注释 @ODM\EmbeddedDocument 的类,并且具有 titlescorereviewauthor属性

现在,当我添加 GraphQL 支持时,它看不到 review 属性,我也无法对其进行查询

有人可以帮我解决这个问题吗?

query {
  products{
    edges{
      node {
        id
        name
        description
        reviews {
          title
          score
          review
          author
        }
      }
    }
  }
}

产品

/**
 * @ODM\Document
 */
class Product
{

    /**
     * @ODM\Id(strategy="NONE",type="string")
     */
    protected $productId;

    /**
     * @var array<Review>
     * @ODM\EmbedMany(targetDocument="App\Entity\Review")
     */
    private array $reviews;
}

评论

/**
 * @ODM\EmbeddedDocument
 */
class Review
{
    /**
     * @var string
     * @ODM\Field(type="string")
     */
    private string $title;

    /**
     * @var string
     * @ODM\Field(type="string")
     */
    private string $review;
    
    /**
     * @var string
     * @ODM\Field(type="string")
     */
    private string $author;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。