我想与多个视图共享一些数据,在这些视图中,我使用Laravel的View Composers概念,如下所示:在AppServiceProvider.php
view()->composer('*', function ($view)
{
/* SHARED DATA */
$socialLinks = $settings = $categories = array();
if(Schema::hasTable('social_links')) {
$socialLinksObj = new SocialLinkService();
$socialLinks = $socialLinksObj->all();
}
if(Schema::hasTable('settings')) {
$settingService = new SettingService();
$settings = $settingService->list();
}
/* END SHARED DATA */
$view->with([
'socialLinks' => $socialLinks,
'settings' => $settings,
]);
});
上面的代码可以正常工作,因为它可以将数据共享给每个视图,但是我有相同的视图,其中的分页数据类似于此查询:
Inventories::with($relations)->latest()->paginate($pagination)
在此页面中,我有从View Composer共享的数据,如下面的屏幕快照中所示
但是当我转到下一页时,共享数据不可用。
我应该怎么做才能实现我的目标?
我想将某些数据共享到多个视图,在这些视图中我使用Laravel的View Composers概念,如下所示:在AppServiceProvider.php中,view()-> composer('*',函数($ view){/ * SHARED ...
因此,首先,这不是对View Composer的很好使用。该代码针对每个呈现的视图刀片运行,并且效率很低。