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

Javascript Laravel试图从数据库中获取导航栏列表,javascript,jquery,database,controller,laravel-5.4,Javascript,Jquery,Database,Controller,Laravel 5.4,我有一个导航栏,它包含在master.blade.php页面中。在我的导航栏中,我想做一些 @if(count($cats)> 0) @foreach($cats as $cat) <a href="#">{{$cat->name}}</a> @endforeach @endif @if(计数($cats)>0) @foreach($cats作为$cat) @endforeach @恩迪夫 但我不知道如何让控制器用于每个

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

  @if(count($cats)> 0)
    @foreach($cats as $cat)
      <a href="#">{{$cat->name}}</a>
    @endforeach
  @endif
@if(计数($cats)>0)
@foreach($cats作为$cat)
@endforeach
@恩迪夫
但我不知道如何让控制器用于每个视图。 因为
navbar.blade.php
毕竟被包括在内。它不使用路线

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

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

拉威尔5.4


谢谢您的帮助。

我想您需要使用javascript ajax

我猜您希望布局中有可用的数据,而不必将数据从控制器传递到扩展该布局的每个视图

如果您有一个正在扩展的布局,并且希望自动将数据传递到该布局,那么视图生成器将是一个不错的选择

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


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
@php($cats=App\cats::all())
@如果(计数($cats)>0)
@foreach($cats作为$cat)
@endforeach
@恩迪夫

编辑类别模型名称,如果它与其他名称一起存在

是的,我也这么认为,但我不知道如何从javascript访问控制器功能如果你不知道答案,你能回答我的问题,这样我就有更好的机会回答问题。你为什么需要javascript?@lagbox我想我需要通过数据库访问控制器,获取导航栏列表,并将其传递给视图,而不需要路由,另外,我不知道如何为不使用路由的导航栏返回导航栏内容。没有路线,我不知道如何访问控制器。“不需要路线”是什么意思。。。请求被调度到路由,每个视图都被渲染并通过路由返回。。。为什么点击很重要。。。什么是动态的?@lagbox对不起,我不知道你到底想说什么。我要问的问题是:如何从master中包含的数据库中获取navbar列表。因为它包含在主视图中,所以在每个视图中都使用该导航栏。我需要在每一页都能用的东西。其他方式我需要返回每个页面的导航栏内容。啊,是的,我想这就是我需要的。我使用
View:composer
就像是
web.php
中的一条路线,对吗?不,我会按照那篇文章中答案的文档链接或这里的文档链接来做,我认为这实际上也会起作用。我用了其他的方法解决了我的问题。但是谢谢你,我也试过这个方法,效果很好。我不知道它是否安全,但确实有效。
@php($cats = App\Cats::all())
 @if(count($cats)> 0)
    @foreach($cats as $cat)
      <a href="#">{{$cat->name}}</a>
    @endforeach
  @endif