@if控制结构无法识别 - php laravel 5

时间:2016-12-15 23:44:07

标签: php twitter-bootstrap laravel-5

我正在使用Laravel 5和bootstrap编写博客。 @if控件结构似乎没有在我的blade.php中以这种方式编写:

@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 :: $ title

我是PHP的新手,我似乎无法看到问题出在哪里。如果您有任何线索,请提供帮助。

1 个答案:

答案 0 :(得分:0)

在调用此视图时,您需要附加"post"变量。在您的一个控制器方法中。 在您编辑的问题中,"title"丢失了。传递"title"变量和帖子。基本上,您希望在视图中未定义的视图中使用的任何变量(全局变量除外)都需要从控制器显式传递给它。

编辑集合错误。

你的post变量实际上是一个数组,遍历它并访问帖子数组的每个成员的帖子标题或帖子的任何属性