I'm working with an api-platform project on PHP 7.4 and MongoDB. I have created a class (Product
) with the annotation @ODMDocument
. Product
has field reviews
with the annotation @ODMEmbedMany(targetDocument="AppEntityReview")
.
Review
is a class with annotation @ODMEmbeddedDocument
and has properties like title
, score
, review
, and author
.
Now when I add GraphQL support, it does not see the reviews property and I can't query on it.
Can someone please help me with this?
query {
products{
edges{
node {
id
name
description
reviews {
title
score
review
author
}
}
}
}
}
Product
/**
* @ODMDocument
*/
class Product
{
/**
* @ODMId(strategy="NONE", type="string")
*/
protected $productId;
/**
* @var array<Review>
* @ODMEmbedMany(targetDocument="AppEntityReview")
*/
private array $reviews;
}
Review
/**
* @ODMEmbeddedDocument
*/
class Review
{
/**
* @var string
* @ODMField(type="string")
*/
private string $title;
/**
* @var string
* @ODMField(type="string")
*/
private string $review;
/**
* @var string
* @ODMField(type="string")
*/
private string $author;
}
question from:
https://stackoverflow.com/questions/65953031/mongodb-doctrine-odm-api-platform-embedmany-graphql 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…