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 (将#修改为@)