首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Symfony的API平台响应中添加计算属性?

如何在Symfony的API平台响应中添加计算属性?
EN

Stack Overflow用户
提问于 2019-07-09 16:52:08
回答 1查看 567关注 0票数 2

我需要计算一个value属性,并将其添加到API平台响应中。

我有这个对象:

代码语言:javascript
复制
"project": {
    "@id": "/api/projects/1",
    "@type": "Projects",
    "id": 1,
    "name": "UI/UX",
    "beginDatetime": 1562662050,
    "maxHours": 8,
    "isActive": true,
  }

我需要这个对象:

代码语言:javascript
复制
"project": {
    "@id": "/api/projects/1",
    "@type": "Projects",
    "id": 1,
    "name": "UI/UX",
    "estEndDatetime": 1562662050 + (8*3600), // Autocalculated value
    "maxHours": 8,
    "isActive": true,
  }

我正在使用带有API平台的Symfony 4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-09 17:18:03

您可以创建一个getter方法并向其添加@Groups注释。例如:

代码语言:javascript
复制
/**
 * @Groups({"your_group_name_here"})
 */
public function getEstEndDatetime(): DateTimeInterface
{
    return $this->getBeginDatetime()->modify('+ ' . ($this->getMaxHours() * 3600) . ' seconds');
}

请注意,在执行此操作时,如果日期是可变日期,则它将被更改。因此,对beginDateTime属性使用不可变的日期会更好。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56948760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档