我需要将数据发送Category::all()到视图。但我不能使用控制器的@index()。我想使用这样的东西,但这是一种错误的方式,因为它不会在其他视图中使用。$categories = Category::all();return view('view')->with('categories', $categories)将所有内容返回到 .blade 视图的正确方法是什么?
3 回答
三国纷争
TA贡献1804条经验 获得超7个赞
这是错误的方式,因为它不会在其他视图中使用。
我理解这个问题,因为您想调用所有视图文件中的所有类别。
您可以创建自己的服务提供者(ViewServiceProvider名称很常见),也可以使用现有的AppServiceProvider.
在您选择的提供程序中,将您的代码放入引导方法中。
public function boot() {
$categories = Category::all();
view()->share('categories ', $categories);
}
这将使$categories变量在您的所有视图中都可以访问。
如果您更愿意使用外观而不是助手,请更改view()->为View::但不要忘记use View;在文件顶部放置。
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
您可以按如下方式检索数据:
public function getData() {
$categories = Category::all();
return view('yourview', compact('categories'));
}
然后在您的视图中,您可以按如下方式检索数据:
@foreach($categories as $cat)
<p> {{ $cat->name }} </p>
@endforeach
- 3 回答
- 0 关注
- 138 浏览
添加回答
举报
0/150
提交
取消
