2016-12-15 14 views
0

私はLaravel 5とブートストラップを使ってブログをプログラミングしています。 @If制御構造は、私のblade.phpにこのように書かれて動作していないように見える。ここで@制御構造が認識されない - php laravel 5

@section('title') 
@if($post) 
    <p> {{ $post->title}} </p> 
    @if(!Auth::guest() && ($post->name == Auth::user()->id || Auth::user()->is_admin())) 
     <button type="button" class="btn btn-default"><a href="{{ url('news.edit')}}">Editer</a></button> 
    @endif 
@endif 
@endsection 

は、ブレードを呼び出すのPostControllerの私の関数である。

public function index() 
{ 
    $post = Post::get(); 

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

私はこのエラーが発生します。 未定義のプロパティ:Illuminate \ Database \ Eloquent \ Collection :: $タイトル

私はPHPを初めて使用しているため、問題がどこにあるか分かりません。何か手がかりがあれば、助けてください。

+0

の各メンバーのためのポストのいずれかのプロパティです、配列のように。ドキュメント https://laravel.com/docs/5.0/templates、https://laravel.com/docs/5.0/eloquent –

答えて

0

このビューを呼び出すときには、変数"post"を添付する必要があります。あなたのコントローラメソッドの1つで。 編集した質問に"title"がありません。投稿と一緒に"title"変数を渡します。基本的に、ビューで定義されていないビュー(グローバル変数を除く)で使用する変数は、コントローラから明示的に渡す必要があります。

コレクションの編集でエラーが発生しました。

あなたはすべての投稿を取得するときに、結果がコレクションであるため、あなたのpost変数は、実際には配列、それをループし、アクセスのタイトルまたはあなたが@foreachを使用する必要がありますpost配列

+0

私の質問を編集しました – Inas

+0

@Inas編集されたコレクションのエラーの回答をお読みください。入門チュートリアルに完全に従うことをお勧めします。 –

+0

ちょうどvardump()変数。たいていはそれが可能な配列であれば、ifループの代わりにforeachループを使う必要があります。 – captainblack

関連する問題