如何让 collection 可用于 Laravel 中的所有视图?
How can I make collection available to all views in Laravel?
我想在我的 header 中包含来自我的 Settings
模型的数据,它包含在所有页面上。
如何在所有页面加载中包含它?通常我在我的控制器中通过 Settings
collection 发送,但是有没有办法在全球范围内做到这一点?
在 AppServiceProvider
中使用 View::share
https://laravel.com/docs/5.5/views#sharing-data-with-all-views
如果您的 header 是它自己的 include,您可以使用 View Composer 在呈现时自动将数据传递给该特定视图:
View::composer('your.header.include', function ($view) {
$view->with('settings', Setting::all());
});
将其放入服务提供商 boot
方法中。 your.header.include
是您需要 settings
的视图文件的名称。
我想在我的 header 中包含来自我的 Settings
模型的数据,它包含在所有页面上。
如何在所有页面加载中包含它?通常我在我的控制器中通过 Settings
collection 发送,但是有没有办法在全球范围内做到这一点?
在 AppServiceProvider
中使用 View::sharehttps://laravel.com/docs/5.5/views#sharing-data-with-all-views
如果您的 header 是它自己的 include,您可以使用 View Composer 在呈现时自动将数据传递给该特定视图:
View::composer('your.header.include', function ($view) {
$view->with('settings', Setting::all());
});
将其放入服务提供商 boot
方法中。 your.header.include
是您需要 settings
的视图文件的名称。