2017-04-20 7 views
0

내 응용 프로그램에 등록하려고하는데이 오류가 발생했으며 이유를 모르겠습니다. enter image description herelaravel 5.4 이외의 객체 오류 속성을 얻으려고합니다.

내 post.blade.php 파일이 코드를 가지고 :

public function index() 

    { 
     $posts=Post::latest()->get(); 

    return view('posts.index',compact('posts')); 
    } 

및 인덱스 파일은 다음과 같습니다 :

<div class="blog-post"> 
<h2 class="blog-post-title"> 

    <a href="/posts/{{$post->id}}"> 

     {{$post->title}} 

    </a> 

</h2> 


<p class="blog-post-meta"> 

    {{$post->user->name }} 
    {{$post->created_at->toFormattedDateString()}} 


</p> 

{{$post->body}} 

postcontroller이 코드를 가지고

@foreach($posts as $post) 
     @include('posts.post') 
    @endforeach 

    <nav class="blog-pagination"> 
     <a class="btn btn-outline-primary" href="#">Older</a> 
     <a class="btn btn-outline-secondary disabled" href="#">Newer</a> 
    </nav> 

</div><!-- /.blog-main --> 
+0

컨트롤러에서'$ post'를 전달 했습니까? –

+0

$ post 변수를 전달했는지 확인하십시오. –

+0

실제로 created_at이 $ post에 실제로 보내 집니까? – Frenus

답변

1

내가 코드를 같이 업데이트 할 필요가 있다고 생각 :처럼 foreach 루프가 될 것입니다!

+0

답을 확인했지만이 오류가 발생했습니다. 모델 [App \ Post]에서 정의되지 않은 관계 [사용자]를 호출하십시오. –

0

post.blade.phpindex.blade.php 파일에 포함한다고 가정합니다.

위의 경우 $postpost.blade.php으로 전달하지 않습니다.

@foreach($posts as $post) 
    @include('posts.post', ['post' => $post]) 
@endforeach 
+0

나를 위해 작동하지 않습니다 –

+0

@HanieAsemi'$ post'를'dd()'할 수 있습니까? –

+0

어디에서이 방법을 추가할까요? –

0

당신이 index.blade.php 파일에 post.blade.php을 포함한다고 가정 : 귀하의 foreach 루프처럼 될 것입니다.

위의 경우 post.blade.php에 $ post를 전달하지 않습니다.

public function index() 
{ 
    $posts=Post::with('users')->latest()->get(); 
    return view('posts.index',compact('posts')); 
} 

<p class="blog-post-meta"> 
    {{$post->users->name }} 
    {{$post->created_at->toFormattedDateString()}} 
</p> 

희망 당신을 위해이 일 :

@foreach($posts as $post) 
    @include('posts.post', ['post' => $post]) 
@endforeach 
+0

다른 게시물 개체가 현재 –

+0

에 근무했기 때문에 오류가 사용자에게 있음을 알았습니까? –

+0

예, 작동하지 않습니다. –