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|”而不是关系?
我是 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|”而不是关系?