首页 > 解决方案 > laravel 5.6 中的全球价值

问题描述

这是我的代码...

public function index()
{
    $clientIP = request()->ip();
    $cats=DB::table('catagory')->get();
    $news=DB::table('news')->orderby('nID','desc')->limit('5')->get();
    $books=DB::table('book')->where('bPrice','=',0)->orderby('bID','desc')->limit('5')->get();
    return view('index',compact('clientIP','cats','news','books'));
}

如您所见,有一些变量,我将它们传递给我的视图,但我必须在我想显示的每个视图中重复它们。有没有办法将它们全球化并在任何地方使用。请帮助提供示例代码。谢谢。

标签: phphtmllaravel

解决方案



Laravel 视图作曲家可以帮助你。
您应该将此代码添加到您的 app/Providers/AppServiceProvider.php。

    view()->composer(['index', 'index1', 'index2'], function($view) {
        $clientIP = request()->ip();
        $cats=DB::table('catagory')->get();
        $news=DB::table('news')->orderby('nID','desc')->limit('5')->get();
        $books=DB::table('book')->where('bPrice','=',0)->orderby('bID','desc')->limit('5')->get();
        $view->with([
            'clientIP' => $clientIP,
            'cats' => $cats,
            'news' => $news,
            'books' => $books,
        ]);
    });

推荐阅读