来自数据库最佳实践的 Laravel 5.6 动态页面



我正在使用/学习Laravel 5.6,想知道这是否是尝试从数据库中完成动态页面的最佳方法。

我采取的方法有效,但我觉得可以改进,特别是必须为每个请求检索导航栏的页面。

我在网络上有一条路线.php

Route::get('/', 'PageController@index')->name('index');
Route::get('/{page}', 'PageController@show');

然后,我有了带有索引和显示功能的页面控制器。

public function index()
{
$pages = Page::all();
$posts = Post::latest('created_at')->paginate(2);
return view('index', compact('posts','pages'));
}
public function show($uri)
{
$pages = Page::all();
$page = Page::where('uri', $uri)->first();
return view('templates.page', compact('page','pages'));
}

现在在我的 header.blade 中.php我显示如下页面列表:

@foreach($pages as $page)
<li class="nav-item">
<a class="nav-link" href="/{{ $page->uri }}">{{ $page->title }}</a>
</li>
@endforeach

现在我的问题是所有其他控制器,我每次都必须从数据库中获取页面信息,这似乎效率低下。

任何建议将不胜感激。提前谢谢你。

通过在服务提供商的引导方法中添加View::share('key', 'value');,您可以自动与每个视图共享页面数据。或者,您可以创建视图编辑器。

一个布局边栏选项卡。 产量标题由

<title>@yield('page-title')</title>

然后看到,

使用 DB 中的 php 的进程标题

然后使用

@section('page-title')
{{$page_title}}
@endsection

最新更新