从yii2明确指南:
public function fields()
{
return ['id', 'email'];
}
public function extraFields()
{
return ['profile'];
}
http://localhost/users?fields=id,email&expand=profile的请求可能会返回以下JSON数据:
[
{
"id": 100,
"email": "100@example.com",
"profile": {
"id": 100,
"age": 30,
}
},
...
]
如何调整extraFields(或者其他东西)以在此示例中的响应的配置文件部分中仅获取一个字段(例如,年龄)?
答案 0 :(得分:0)
首先想到的是
public function extraFields(){
return [
'profile' => function($item){
return [
'age' => $item->profile->age
];
}
];
}
答案 1 :(得分:0)
此功能将在Yii 2.0.14中添加 https://github.com/yiisoft/yii2/pull/14219
示例API请求的工作方式如下:URL/API/v2/...
修改:现在您可以使用以下内容:
users?fields=id,email&expand=profile.age
请求:public function extraFields()
{
return [
'profileAge' => function($item){
return $item->profile->age
}
];
}