问题:
使用laravel5.8,前台所有页面需要共用标签数据
解决方法:
1. 新建ComposerServiceProvider
php artisan make:provider ComposerServiceProvider
2. 编辑ComposerServiceProvider中都boot方法,添加
view()->composer('home.*','App\Http\ViewComposers\BaseInfoComposer');
说明:所有前台模板在home文件夹下,所以home.*
namespace App\Http\ViewComposers; use Illuminate\Http\Request; use Illuminate\View\View; use App\Models\Tag; use App\Models\Link; class BaseInfoComposer { public function compose(View $view) { $tags = Tag::where('id','>',0)->orderBy('id','DESC')->get()->toArray(); $links = Link::where('id','>',0)->orderBy('id','DESC')->get()->toArray(); $view->with([ 'tags' => $tags, 'links' => $links, ]); } }
至此完工,前台所有模板以及模板调用都组件都可以使用$tags和$links变量
转载于:https://www.cnblogs.com/convincee/p/10846158.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100934.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...