首页 > 解决方案 > 如何在 laravel 中返​​回带有 controller@index 的视图?

问题描述

我需要将数据发送Category::all()到视图。但我不能使用控制器的@index()。我想使用这样的东西,但这是一种错误的方式,因为它不会在其他视图中使用。

$categories = Category::all();
return view('view')->with('categories', $categories)

将所有内容返回到 .blade 视图的正确方法是什么?

标签: phplaravellaravel-blade

解决方案


这是错误的方式,因为它不会在其他视图中使用。

我理解这个问题,因为您想调用所有视图文件中的所有类别。

您可以创建自己的服务提供者ViewServiceProvider名称很常见),也可以使用现有的AppServiceProvider.

在您选择的提供程序中,将您的代码放入引导方法中。

public function boot() {
    $categories = Category::all();
    view()->share('categories ', $categories);
}

这将使$categories变量在您的所有视图中都可以访问。

如果您更愿意使用外观而不是助手,请更改view()->View::但不要忘记use View;在文件顶部使用。


推荐阅读