API 平台:为 GET 路由自定义逻辑的最佳方式

API Platform : Best way to custom logic for a GET route

我是 API PLatform 的新手,我不明白如何做一些事情。

出于某种原因,我有一个带有内容字段(文本)的日记实体。

在此内容字段中,我有一串 Post(实体)ID,由“|”分隔。

例如:“123|256|23|456|894|356|2|1646|998|61|9898|16|665|65|”等等。

当我们以用户 ID 作为参数请求“/api/journal/1”路由时,我想解析日志实体的内容字段和 return 所有匹配的 Posts以正确的顺序。

这不是标准行为,我在阅读文档时感到很困惑。

有人可以向我解释一下我该怎么做吗?

非常感谢!

你必须在你的实体中写一些代码,例如你可以写你自己的 getter 没有被 ORM 映射...比如

public function getContentByIdList() {
    $list = explode($this->contentIds, "|");

    // .... here you can write a simeple service to map your ids by your content data.
    // foreach (.... $key => $value){.... $objectList[] = $em->contentRepository()->findById(value)}

    return $objectList;
}

但真正的问题是为什么你的数据如此反规范形式“123|256|23|456|894|356|2|1646|998|61|9898|16|665|65|”而不是关系?