2017-10-14 1 views
1

이미지와 관련 댓글 (예 : Facebook)을 표시하려는 소규모 프로그래밍 작업을하고 있습니다.PHP에서 두 개의 다른 쿼리 결과를 전달하는 중 오류가 발생했습니다.

내 이미지가 하나의 테이블에 있으며 한 테이블에 주석 처리됩니다. 나는 다른 테이블에서 두 가지를 모두 가져오고 있으며이 결과를보기 위해 전달하려고합니다. 그리고 나는 거기에 관련 게시물에 따라 이러한 결과를 보여주고 싶습니다. 그러나 이것은 나에게 오류를 준다. 모든 댓글에는 관련 post_id이 있으며 실제로는 post_id입니다.

여기 내 코드입니다.

모델 : 아직 존재하지 않는 경우

public function load_posts_with_comments(){ 
    $posts = image_post::all(); // loading all posts 
    $comments = commenting::all(); // loading all comments 
    return view('home_page_of_posts', [ 
     'posts' => $posts, 
     'comments' => $comments 
    ]); // passing it to view, there I will do it through for each nested loop but it does not work. 
} 
+0

그것은 어떻게 같이 작동 나던 :

public function loadPostsWithComments() { $posts = Post::with('comments')->get(); return view('home_page_of_posts', compact('posts')); } 

그런 다음 블레이드 템플릿에, 당신은 게시물과 댓글을 반복 할 수 있습니까? 데이터가보기로 전송되지 않습니까? 또는 코멘트는 게시물을위한 것이 아닙니다. –

+0

표시 방법 그리고 어떤 오류가 있습니까? – C2486

+0

나는 데이터가 정확한지 반향하여 체크했다. 하지만 그것은 올바른 formate에서 인쇄되지 않습니다 .. 그것은 오류에 게시에 대한 –

답변

3

게시물 및 댓글 모델 사이의 hasMany 관계를 만듭니다. 뭔가 같이 :

public function comments() 
{ 
    return $this->hasMany(Comment::class); 
} 

그런 다음 각 게시물에 관련된 의견을로드 with() 방법을 사용합니다. 이런 식으로 뭔가가 작동합니다 :

@foreach ($posts as $post) 
    {{ $post->title }} 
    @foreach ($post->comments as $comment) 
     {{ $comment->title }} 
    @endforeach 
@endforeach 
+0

은 내가 laravel에 새로 왔기 때문에 다른 옵션이있다. –

+2

@DANISHTAYYIB 다른 옵션은 필요 없으며 더 쉬운 옵션은 없습니다. Laravel 문서를 읽으면 더 분명해질 것입니다. –

관련 문제