繁体   English   中英

laravel在视图之间共享变量

laravel sharing variable between views

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

考虑以下路线:

Route::get('/', function()
{
    $categories = Category::all()->toHierarchy();

    $stats = array(
        'total_users' => User::all()->count(),
        'total_services' => 5,
        'total_orders' => 2,
        'latest_service' => '1 hour ago'
    );

    return View::make('homepage')
                                ->with('categories', $categories)
                                ->with('stats', $stats);
});

但是我在所有视图中都需要$ categories和$ stats! 我不想在每个视图或控制器中重复数据库调用,我将如何实现它?

2 个回复

您正在寻找View Composers 它们使您可以在渲染某个视图(或所有通过*视图)时运行一些代码。

View::composer('*', function($view){
    $categories = Category::all()->toHierarchy();

    $stats = array(
        'total_users' => User::all()->count(),
        'total_services' => 5,
        'total_orders' => 2,
        'latest_service' => '1 hour ago'
    );
    $view->with('categories', $categories)
         ->with('stats', $stats);
}

您可以将此代码放在app/filters.php或创建一个新文件app/composers.php并通过添加require app_path().'/composers.php';包含它require app_path().'/composers.php'; app/start/global.php的末尾

您可以使用简单的方法:

View::share('data', $data);
View::make....

用于将变量传递给所有视图。

1 Laravel如何修改视图之间的共享变量

我已经使用AppServiceProvider的boot方法在所有视图之间成功共享了一个变量。 现在,我想知道是否可以修改此共享值。 现在,当我尝试修改它时,在页面重新加载时它不起作用,但是如果我将其显示为dd值,则表明它已被修改,但是在每次页面重新加载时,它都会重置为其初始值。 在 ...

2019-08-05 13:26:30 0 23   laravel
3 laravel 5-在控制器之间共享变量(不渲染视图)

我有一个用Laravel开发的小型应用程序,我想在所有控制器之间共享一个变量(远程服务的结果,缓存)。 我阅读了有关ViewComposer的文章,但它们仅在呈现视图(有意义)时才起作用,并且我的应用程序具有许多json响应。 我知道我传统上可以从BaseController扩展我的 ...

4 Laravel在多个控制器之间共享变量

我正在使用AppServiceProvider与所有相关视图共享特定的管理数据。 现在我想与所有管理员相关的控制器共享管理数据,以用Auth::guard('admin')->user()->firstname by $admin->firstname替换Auth::gu ...

5 laravel 在所有视图中共享变量作为参考

我真的想要一个很简单的东西 1)我从 AppServiceProvider 共享一个全局变量,如下所示 2)我在视图(index.blade.php)中设置了一些属性值,例如blow 3)在另一个视图(contact.blade.php)中,我检查了$css->publicPro ...

6 故事板的视图控制器之间共享变量吗?

我的应用程序分为两个情节提要:一个角色选择和一个主要应用程序。 当用户选择一个角色时,该应用会选择到主应用程序,并且故事板的所有视图现在都应与用户选择的角色相关。 我正在尝试找出在所有主应用程序故事板视图之间共享具有选定角色信息的字符串的最佳方法。 现在,我正在使用UserDefaul ...

7 如何在django视图之间传递或共享变量?

我有点迷失如何做到这一点: 我有一些链式选择框,每个视图有一个选择框。 应保存每个选项以便建立查询。 最后,应该运行查询。 但你如何在django分享国家? 我可以从视图传递到模板,但不能查看模板而不能查看视图。 或者我真的不知道该怎么做。 请帮忙! ...

8 如何在主版面和视图之间共享变量

我的Guest模型中有以下静态方法来检索位置1处的所有客人: 我还获得了以下静态方法来检索和显示位置1的来宾人数。 后来我打电话getGuests()在我的GuestController和所有的客人传递给视图guests/index.blade.php在表格中显示的数 ...

9 如何在视图之间共享变量ASP.NET MVC

我需要从我所有的asp.net mvc应用程序访问UserId,以便使用它来隐藏/显示某些元素: UserId是用户表中的主键(在SQL Server中)。 在正常的asp.net中,我使用了BasePage:Page并添加了: 我如何在asp.net mvc中做同样的事情。 ...

10 在ViewController之间共享变量

我有一个包含三个页面的iPhone应用程序,每个页面都允许用户输入一些文本。 在最后一页上,我想将所有三个字符串连接起来并打印出来。 我为每个页面都有一个UIViewController (名为PageXController ),并且我试图将变量传递到最后一页。 我目前尝试的方法不太有效。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM