When I have a document property using a dbRef - relation like this:
/**
* @MongoDB\ReferenceOne (
* discriminatorMap={
* "post"=Post::class
* },
* defaultDiscriminatorValue="post",
* storeAs="dbRef",
* inversedBy="references",
* cascade={"persist"}
* )
*/
protected DocumentInterface $target;
How can I apply the built-in SearchFilter from Api_Platform to return all items with a matching dbRef and what would the adequate Request look like?
My Answer:
To use the built-in SearchFilter from Api_Platform with a dbRef property, you can specify the property name in the query parameter of the request.
For example, if you want to filter documents based on the "target" property with a specific dbRef value, you can make a request like this:
GET /api/documents?target=/api/posts/{post_id}
Replace {post_id} with the ID of the post you want to filter by. This will return all documents that have a dbRef to the specified post.
You can also use other filter options such as "gt" (greater than), "lt" (less than), "contains", etc. to further refine your search criteria.
Make sure to enable the SearchFilter in your Api_Platform configuration and configure it to work with the dbRef property.
Rate this post
5 of 5 based on 6428 votesComments