如何向母版页提供数据? Laravel 5

时间:2015-07-28 13:01:48

标签: laravel-5

我想知道一种向布局/母版页提供信息的适当方法。

朋友建议将其添加到App\Providers\AppServiceProvider.php

    view()->composer('app', function($view) {
        $view->with('stages', Stage::all());
    });

这是有效的,但仅限于主页。

以下是主页app.blade.php

中数据的使用方法
<ul class="dropdown-menu" role="menu">
  @if(isset($stages))
    @foreach($stages as $stage)
      <li><a href="department/{{ $stage->id }}">{{ $stage->name }}</a></li>
    @endforeach
  @endif
</ul>

请帮助,谢谢。

解决方案

use Illuminate\Support\ServiceProvider;
use View;
use App\Stage;

class AppServiceProvider extends ServiceProvider {

public function boot() {
  View::share('stages', Stage::all());
}

.....

1 个答案:

答案 0 :(得分:1)

如果要在所有视图中包含数据,则必须使用View :: share()。在AppService Provider内部执行:

View::share('stages', Stage::all());

Here you have the docs.

编辑:要使用视图外观,只需在文件顶部添加:

use View;

您也可以使用

view()->share()