Php laravel 5中的全局查询

Php laravel 5中的全局查询,php,laravel,Php,Laravel,控制器: 刀片视图: 这在个人观点上非常有效 我想能够有这些类别显示在每一页上,这将作为一个下拉菜单在标题导航栏使用。我有app.blade.php,其中包含标题html和@yield'content。我能想到的查询出类别的唯一方法是以某种方式将其放入我的路由文件中。。。我很确定这不是一个好办法 我希望得到建议/示例。一种解决方案是使用Laravel将数据绑定到视图。如中所述,您可以使用通配符视图生成器来完成此任务 首先,您将为视图生成器设置一个基于闭包的生成器,该生成器将应用于每个页面*通配符

控制器:

刀片视图:

这在个人观点上非常有效

我想能够有这些类别显示在每一页上,这将作为一个下拉菜单在标题导航栏使用。我有app.blade.php,其中包含标题html和@yield'content。我能想到的查询出类别的唯一方法是以某种方式将其放入我的路由文件中。。。我很确定这不是一个好办法


我希望得到建议/示例。

一种解决方案是使用Laravel将数据绑定到视图。

如中所述,您可以使用通配符视图生成器来完成此任务

首先,您将为视图生成器设置一个基于闭包的生成器,该生成器将应用于每个页面*通配符:

<?php namespace App\Providers;

use View;
use Illuminate\Support\ServiceProvider;

class ComposerServiceProvider extends ServiceProvider {

    /**
     * Register bindings in the container.
     *
     * @return void
     */
    public function boot()
    {
        View::composer('*', function($view)
        {
            //
        });
    }

    /**
     * Register
     *
     * @return void
     */
    public function register()
    {
        //
    }

}

总之,@jakeOpena说的是真的,视图生成器是最好的解决方案

下面是我在route.php中的示例:

View::composer('layouts.left_navbar_menu', function($view) {
 $menu = App::make('LeftNavMenu')->menuBilder();
 $view->with('name', $menu);
});
“我的视图布局/左侧导航栏”菜单包含在主模板中,如下所示:

@include('layouts.boot_left_navbar_menu')

@法哈德,我觉得没必要把我的问题弄得一团糟。我只是希望在更大的全球范围内,实现与个人路线相同的功能。我基本上希望能够运行Categories::走每一条路线。你解决了你的问题吗?
public function boot()
{
    View::composer('*', function($view)
    {
        $view->with('categories', \App\Categories::all());
    });
}
View::composer('layouts.left_navbar_menu', function($view) {
 $menu = App::make('LeftNavMenu')->menuBilder();
 $view->with('name', $menu);
});
@include('layouts.boot_left_navbar_menu')