如何在拉拉维尔中返回带有controller@index的视图?



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

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

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

这是一种

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

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

您可以创建自己的服务提供商(ViewServiceProvider名称是通用的(,也可以使用现有的AppServiceProvider

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

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

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

如果您希望使用外观而不是帮助程序,请将view()->更改为View::但不要忘记在文件顶部放置use View;

在您的视图方法中,写下刀片的目录和名称,不带".blade">

您可以按如下方式检索数据:

public function getData() {
$categories = Category::all();
return view('yourview', compact('categories'));
}

然后在您的视图中,您可以检索数据:

@foreach($categories as $cat)
<p> {{ $cat->name }} </p>
@endforeach

最新更新