dpkrbe395930 2017-04-11 02:49
浏览 27
已采纳

Yii2 rest API与用户一起发布

I am creating REST API in YII2. I am getting all post data by calling get API

/post/
/post/1/

But I want to get user also who post that particular post.

for example I want data in below format

{
      "id":"1",
      "title":"kapil",
      "content" : "test",
      "user" : {
         "username":"admin",
         "first_name":"kapil",
         "last_name":"sharma",
          //blah blah
      }

}

But response is

{
          "id":"1",
          "title":"kapil",
          "content" : "test",
}

I used this tutorial for creating API.

  • 写回答

1条回答 默认 最新

  • duanba5777 2017-04-11 03:08
    关注

    Let's say in your post method you have the getIdUser() relation:

    public function getIdUser() {
      return $this->hasOne(User::className(), ['id' => 'user_id']);
    }
    

    In that model, you should make use of the extraFields() method, as follows:

    public function extraFields() {
      return [
        'user' => 'idUser' // or the name you hasOne relation with user has
      ];
    }
    

    Then, you call your REST API with the expand parameter, specifying there which extraField details you'd like to include, in your case:

    http://example.com/post/view?id=1&expand=user

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部