我在我的实体(/api/posts/active
)上有一个自定义的集合操作,并且我希望总是对它应用一些过滤条件:
active
=true的;onlineUntil
> now();如何仅针对此特定的collectionOperation
执行此操作,而不是针对所有all?
另外,我如何在默认情况下实现这些过滤器,而不依赖于像/posts/:id/active?active=true
这样的查询字符串。
我读过关于过滤的文档,但我真的很困惑,因为他们从来没有提到只过滤一个特定的操作或默认情况下应用过滤器,而不是查询字符串。
发布于 2018-10-31 04:48:28
我认为这里不需要过滤器。您可以通过自定义操作(请参阅文档中的custom operation section )和switch off receiving来实现您的目标。然后,在__invoke方法内部从PostRepository获取带有qustom查询的活动帖子的集合,可以通过在自定义操作构造函数中注入来检索这些帖子:
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
发布于 2018-10-31 06:41:25
这是自定义扩展(https://api-platform.com/docs/core/extensions)的典型用例
https://stackoverflow.com/questions/53071939
复制相似问题