如何使用Laravel在页面上显示最近创建的页面?

时间:2018-05-28 15:02:48

标签: php laravel-5

很多文章展示了如何在主页上展示,但是在另一个页面上如页面呢?

这就是我在控制器文件中的内容:

public function page($slug)
{
    $page = MenuPage::where('slug',$slug)->firstOrFail();
    return view('pages.page', compact('page'));

}

此代码控制后端页面部分中的页面列表:

public function index()
{
    $pages = MenuPage::all();
    return view('admin-SchoolDir.menu-pages.index', compact('pages'));
}

page.blade.php有我的页面布局代码。

想知道要放入控制器文件的代码以及放在视图文件中的内容吗?

我在一篇文章中看到这段代码,控制器文件显示最近的帖子:

 $recentPosts = Post::take(5)->latest()->get();

但我会把代码放在哪里?

在我管理页面列表的后端,这是用于显示页面列表的代码:

                        @foreach($pages as $page)

                          <tr>

                            <td>{{ $page->id }}</td>
                            <td>{{ $page->menu_name }}</td>
                            <td>{{ $page->title }}</td>
                          </tr>
                       @endforeach

如果我将该代码放入我的页面布局中,我会得到一个&#34;未定义的变量:pages&#34;错误。

3 个答案:

答案 0 :(得分:1)

你正在做紧凑的'page'而不是'pages'

答案 1 :(得分:1)

public function page($slug)
{
    $page  =  MenuPage::where('slug',$slug)->firstOrFail();
    $pages =  MenuPage::take(5)->latest()->get();
    return view('pages.page', compact('page','pages'));
}

答案 2 :(得分:0)

在控制器内部,从数据库中检索数据时。

public function index()
{
    $pages = MenuPage::latest()->get();
    return view('admin-SchoolDir.menu-pages.index', compact('pages'));
}

您应该将业务逻辑放入视图中。