2017-04-11 15 views
0

YII2にREST APIを作成しています。投稿APIを取得してすべての投稿データを取得していますYii2 rest APIユーザーとの投稿

/post/ 
/post/1/ 

しかし、私もその特定の投稿を投稿するユーザーを取得したいと思います。例えば

私はフォーマット以下

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

} 

にデータをしたいが、応答は、私はAPIを作成するためのthisチュートリアルを使用

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

です。

+0

あなたのコードはどこですか? –

+0

私はちょうどコントローラを作成し、残りの作業はデフォルトで行われます。Yii2 REST APIフォーマット –

答えて

1

あなたはgetIdUser()関係持っているのは、あなたのポストメソッドで言ってみましょう:そのモデルでは

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

を次のように、あなたは、extraFields()方法を利用する必要があります。

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

次に、あなたが呼び出しますexpandパラメータを持つREST APIを使用して、詳細に含めるextraFieldの詳細を指定します。

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

+0

どうすれば関係を作成できますか?私はYiiで新しいです –

+0

ありがとうございます.. –

関連する問題