使用Laravel View Composers在分页视图下无法共享数据

问题描述 投票:0回答:1

我想与多个视图共享一些数据,在这些视图中,我使用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共享的数据,如下面的屏幕快照中所示

enter image description here

但是当我转到下一页时,共享数据不可用。

ie

我应该怎么做才能实现我的目标?

我想将某些数据共享到多个视图,在这些视图中我使用Laravel的View Composers概念,如下所示:在AppServiceProvider.php中,view()-> composer('*',函数($ view){/ * SHARED ...

laravel view composer-php
1个回答
0
投票

因此,首先,这不是对View Composer的很好使用。该代码针对每个呈现的视图刀片运行,并且效率很低。

© www.soinside.com 2019 - 2024. All rights reserved.