【发布时间】:2013-02-11 01:46:23
【问题描述】:
我有一个应用程序需要从数据库中为每个视图/请求获取菜单。我该怎么做?我想将数据放入每个视图中。
我看到有View Composers,但我不能只做View::composer('*', ...)。
【问题讨论】:
我有一个应用程序需要从数据库中为每个视图/请求获取菜单。我该怎么做?我想将数据放入每个视图中。
我看到有View Composers,但我不能只做View::composer('*', ...)。
【问题讨论】:
如果您有默认视图,则可以使用该视图上的视图编辑器来传递菜单。它可能看起来像这样:
View::composer('layout', function($view)
{
$view->with($menu,Menu::get());
});
这将确保无论何时调用您的 layout 视图,$menu 都将包含您的模型返回的任何内容。
另外,Laravel 有 View::share('foo',$bar),这将使 $foo 在你的所有视图中都可以访问,并将其设置为 $bar。因此,如果您没有单个视图,您可以利用它来确保您始终可以访问 $menu。
根据你的情况,一种可能比另一种更好
【讨论】: