如何在 Laravel 中使用控制器进行“部分”视图?

hoo*_*ola 5 php oop laravel blade laravel-5

这是我的情况。我有一个我的layout.blade.php大部分页面都使用的。在这个文件中,我包含了一些部分片段,例如@include('partials.header'). 我正在尝试使用控制器将数据发送到我的header.blade.php文件,但我对这将如何工作感到困惑,因为它包含在每个扩展layout.blade.php.

我想要做的是在我的数据库中检索任何Game具有今天日期的记录(如果存在),并在标题中使用刀片显示详细信息。

我怎样才能使这项工作?

Cha*_*y22 4

我认为将这些定义Game为全球共享是可行的方法。

在您的 AppServiceProvider 启动方法中

public function boot()
{

    view()->composer('partials.header', function ($view) {
        view()->share('todayGames', \App\Game::whereDay('created_at', date('d')->get());
    });

    // or event view()->composer('*', Closure) to share $todayGames accross whole blade
}
Run Code Online (Sandbox Code Playgroud)

像平常一样渲染你的刀片,partial.headerblade

@foreach ($todayGames as $game)
  // dostuffs
@endforeach
Run Code Online (Sandbox Code Playgroud)