首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii2 REST在外场中选择字段

Yii2 REST在外场中选择字段
EN

Stack Overflow用户
提问于 2016-06-15 09:50:18
回答 2查看 3.3K关注 0票数 1

来自yii2明确指南:

代码语言:javascript
复制
public function fields()
{
    return ['id', 'email'];
}

public function extraFields()
{
    return ['profile'];
}

带有http://localhost/users?fields=id,email&expand=profile的请求可能返回以下JSON数据:

代码语言:javascript
复制
[
    {
        "id": 100,
        "email": "100@example.com",
        "profile": {
            "id": 100,
            "age": 30,
        }
    },
    ...
]

在这个示例中,我如何调优extraFields (或者其他一些东西),使其只获得响应配置文件部分中的一个字段(例如,年龄)?

EN

回答 2

Stack Overflow用户

发布于 2018-02-05 14:05:10

此特性将在YI2.0.14 https://github.com/yiisoft/yii2/pull/14219中添加。

示例API请求的工作方式如下:users?fields=id,email&expand=profile.age

编辑:现在您可以使用如下内容:

代码语言:javascript
复制
public function extraFields()
{
    return [
        'profileAge' => function($item){
            return $item->profile->age
        }
    ];
}

请求:http://localhost/users?fields=id,email&expand=profileAge

票数 3
EN

Stack Overflow用户

发布于 2016-06-15 10:48:14

想到的第一件事

代码语言:javascript
复制
public function extraFields(){

    return [
        'profile' => function($item){
            return [
                'age' => $item->profile->age
            ];
        }
    ];
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37831902

复制
相关文章

相似问题

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