Api 在yii2中使用函数field()的正确方法
我正在为我的项目编写RESTAPI field()函数在我的模型中:Api 在yii2中使用函数field()的正确方法,api,rest,yii2,Api,Rest,Yii2,我正在为我的项目编写RESTAPI field()函数在我的模型中: public function fields() { $fields = parent::fields(); // remove fields that contain sensitive information unset($fields['media'], $fields['content']); return $fields; } 我有两个动作: /api/resources-获取所
public function fields()
{
$fields = parent::fields();
// remove fields that contain sensitive information
unset($fields['media'], $fields['content']);
return $fields;
}
我有两个动作:
/api/resources
-获取所有资源列表
此api返回:
"items":
[
{
"ID": 1,
"category_id": 1,
"title": "tset",
"image": "1437537044.png",
"ins_date": "2015-07-22 00:00:00",
"count": 20
},
{
"ID": 2,
"category_id": 1,
"title": "tset",
"image": "1437537176.png",
"ins_date": "2015-07-22 00:00:00",
"count": 0
},
/api/resources/view?id=1
-获取关于资源id=1的所有信息
{
"ID": 1,
"category_id": 1,
"title": "tset",
"image": "1437537044.png",
"ins_date": "2015-07-22 00:00:00",
"count": 21
}
我得到了所有资源,但我想在调用actionView($id)
时得到所有字段,如下所示:
{
"ID": 1,
"category_id": 1,
"title": "tset", // I want to get response with this
"content": "test", //and this fields
"media": "test",
"image": "1437537044.png",
"ins_date": "2015-07-22 00:00:00",
"count": 22
}
如何解决这个问题?帮帮我
public function fields()
{
if(Yii::$app->controller->action->uniqueId == 'controller/action'){
return ['field_1','field_2','field_3','field_4'];
}else{
return ['field_1','field_3'];
}
}