2016-09-16 14 views
1

LaravelでAPIビルドを使用するVue.jsを習得しようとしています。アイデアはシンプルで、ユーザーは投稿を作成でき、投稿はコメントを付けることができます。私はlaravel内で働く関係を得ることができますが、投稿の著者名やVue.jsのコメントを返す方法はわかりませんLaravel API - Vue.jsが返信するユーザーとの投稿

私は著者の名前を返すためのforeachループでは、このようなものを使用し、ブレードのテンプレートエンジンを使用して:

{{ $post->user->name }} 

私はポストは私が取得APIの谷戻ると、任意のユーザの情報を得ることはありません、ユーザーIDを除きます。この投稿に属するユーザー情報を取得するにはどうすればよいですか?

{ 
    "message": "Success", 
    "data": [ 
    { 
     "id": 1, 
     "body": "test body 1", 
     "user_id": "1", 
     "created_at": "2016-09-16 10:22:57", 
     "updated_at": "2016-09-16 10:22:57" 
    } 
    ] 
} 

<script> 
    export default { 
     /* 
     * The component's data. 
     */ 
     data() { 
      return { 

       posts: [], 

      }; 
     }, 

     /** 
     * Prepare the component. 
     */ 
     ready() { 

      this.getPosts(); 

     }, 

     methods: { 

      /** 
      * Get Posts. 
      */ 
      getPosts: function() { 
       this.$http.get('/api/wall/posts') 
        .then(response => { 

         this.posts = response.data.posts; 

        }); 
      } 

     } 
    } 
</script> 

public function getPosts($id = null) 
    { 
     if (!$id){ 
      $data = Post::all(); 
      $message = 'Success'; 
      $code = 200; 
     } else { 
      $data = Post::FindOrFail($id); 
      $message = 'Success'; 
      $code = 200; 
     } 
     return Response::json(['message' => $message, 'data' => $data], $code); 
    } 

答えて

3

あなたはそのための積極的なロードを使用することがあります。

Post::with('user')->FindOrFail($id); 
+0

Brainfart ...感謝の答えを、私はそのことを考えている必要があります... –

関連する問題