2017-04-11 9 views
0

Ich erstelle REST API in YII2. Ich bekomme alle Post-Daten durch den Aufruf erhalten APIYii2 Rest API erhalten Post mit Benutzer

/post/ 
/post/1/ 

Aber ich möchte Benutzer auch, die diesen bestimmten Beitrag post.

zum Beispiel mag ich Daten in folgendem Format

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

} 

Aber Antwort ist

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

I this Tutorial API für die Erstellung verwendet.

+0

wo ist dein Code ?? –

+0

Ich erstelle nur Controller und Rest der Arbeit ist standardmäßig getan Yii2 REST API-Format –

Antwort

1

Lassen Sie uns in Ihrer Post-Methode sagen, Sie haben die getIdUser() Beziehung:

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

In diesem Modell, Sie nutzen die extraFields() Methode machen sollte, wie folgt:

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

Dann rufen Sie Ihre REST-API mit dem Parameter expand, in der Sie angeben, welche extraField Details Sie hinzufügen möchten, in Ihrem Fall:

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

+0

Wie kann ich eine Beziehung erstellen. Ich bin neu in Yii –

+0

Dank seiner Arbeit .. –