Laravel compact不起作用

时间:2017-06-18 22:29:23

标签: php laravel view

我试图建立一个帖子系统,帖子上有资源路由组合。当我尝试运行应用程序来查看帖子时,它会返回一个错误,指出在视图中找不到帖子。我有索引和show函数的控制器代码:

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

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

public function show(Post $post)
{
    return view('posts.show', compact('post'));
}

我对该应用的视图使用post变量来显示帖子:

<div class="container">
        <div class="row">
            <div class="col-md-6 col-md-offset-2">
                <div class="panel panel-default">
                    <!-- Posts will be displayed on the same panel -->
                    <div class="panel-body" id="view">
                        @foreach($posts as $post)
                            <article id="post">
                                <a href="/view/posts{{ $post->id }}">
                                    {{ $post->title }}
                                </a>

                                <div class="body">
                                    {{ $post->body }}
                                </div>

                                <!-- Footer for posts will include interaction features -->
                            </article>
                        @endforeach
                    </div>
                </div>
            </div>
        </div>
    </div>

laravel安装是否有正确的功能?紧凑功能是否正确设置?

3 个答案:

答案 0 :(得分:0)

索引操作的返回错误 返回视图(&#39;查看&#39;,压缩(&#39;帖子&#39;)); 更改&#39;查看&#39;有&#39;帖子&#39;

答案 1 :(得分:0)

您的控制器索引功能应该是这样的:

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

答案 2 :(得分:0)

使用compact('posts')

如果您是初学者,请观看laracasts视频系列,以更好地了解Laravel框架。