Laravel 试图从数据库中获取导航栏列表

Laravel trying to get navbar list from database

我有一个包含在 master.blade.php 页面中的导航栏。在我的导航栏中,我想做类似

的事情
  @if(count($cats)> 0)
    @foreach($cats as $cat)
      <a href="#">{{$cat->name}}</a>
    @endforeach
  @endif

但我不知道如何让控制器用于每个视图。 因为 navbar.blade.php 毕竟是 included。它不使用路线。

控制器名称为CatsController,功能为cats

我可能需要使用 jqueryjavascript 获取类别列表。但我不知道我该怎么做。不幸的是我忘记了很多关于 js

Laravel 5.4

感谢您的帮助。

我认为你需要使用 javascript ajax

我猜您希望数据可用于布局,而不必将其从 Controller 传递到扩展该布局的每个视图?

如果您有一个布局,其中的内容正在扩展并且希望自动将数据传递到该布局,那么 View Composer 将是您的不二之选。

View::composer('layouts.main', function ($view) {
    $view->with('cats', Cat::all());
});

布局现在将有一个 $cats 集合可供使用。

Laravel 5.5 Docs - View Composers

navbar.blade.php 中使用以下代码。在没有控制器

的情况下获取数据时,您不必使用jquery或ajax
@php($cats = App\Cats::all())
 @if(count($cats)> 0)
    @foreach($cats as $cat)
      <a href="#">{{$cat->name}}</a>
    @endforeach
  @endif

编辑类别模型名称,如果它存在另一个名称