为了避免多次查询相同的数据,可以在基础控制器中定义方法并使用View::share()分配模板变量,实现多次使用。
1.在Http\Controllers\Controller.php中定义多次使用的方法;
//前台共享视图
//共享视图
public function __construct()
{
$cates=Cate::orderBy('sort')->get();
$topArticle=Article::where(['is_top'=>1,'status'=>1])->limit(10)->get();
$web=System::first();
$viewData=[
'cates'=>$cates,
'web'=>$web,
'topArticle'=>$topArticle
];
View::share($viewData);
}
2.在HTML文件中引用即可,不需要在其余的控制器中再次查询
在这里插入图片描述