我有一个称为View Composer的文件statistics.blade.php
,可以在应用程序的每个页面上访问它(也包含在仪表板上)。在dashboard
页面上,以形式显示相同的数据集tiles
。
class StatisticsComposer
{
public function compose(View $view)
{
# models
$ModelA = new ModelA();
$ModelB = new ModelB();
$ModelC = new ModelC();
...
# binding data
$view->with('arrayStatistics', [
'ModelA' => $ModelA->_someMethod(),
'ModelB' => $ModelB->_someMethod(),
'ModelC' => $ModelC->_someMethod(),
...
]);
}
}
我需要arrayStatistics
在dashboard
索引文件上访问此数组。可能吗..?
创建完StatisticsComposer
之后,您需要boot
在服务提供商中进行操作。
创建一个服务提供商,ComposerServiceProvider
例如;
class ComposerServiceProvider extends ServiceProvider
{
public function boot()
{
View::composer(['statistics'], StatisticsComposer::class); // assuming it is in `resources` folder
// other view composer bindings...
}
}
并指向app.php的providers
数组,例如;
'providers' => [
// ... other providers
App\Providers\ComposerServiceProvider::class,
],
然后$arrayStatistics
,您就可以访问了statistics.blade
。
编辑:我认为这是最好不要使用arrayStatistics
,但是ModelA
,ModelB
直接用于直接使用/访问。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句