在laravel的标题视图中调用时未定义变量

在laravel的标题视图中调用时未定义变量,laravel,laravel-5.3,Laravel,Laravel 5.3,我的路线是: Route::get('header','HomeController@header')->name('header'); 我的功能是: public函数头() { $header=ParentCategory::latest()->get(); 返回视图('includes.header',compact('header'); } 我对每个循环的看法如下: @foreach($pc头) @endforeach 我不想写名称为header的路由,请在浏览器中提及我想在没有路

我的路线是:

Route::get('header','HomeController@header')->name('header');
我的功能是:

public函数头()
{
$header=ParentCategory::latest()->get();
返回视图('includes.header',compact('header');
}
我对每个循环的看法如下:

@foreach($pc头)
  • @endforeach

  • 我不想写名称为header的路由,请在浏览器中提及我想在没有路由名称header的情况下使用foreach循环。

    在循环之前,您可以先检查变量:

     @if($header)
       @foreach($header as $pc)   
            <li class=" aligned-left parent dropdown " >
               <a href="index7fa3.html?route=product/category&amp;path=18"
        class="dropdown-toggle" data-toggle="dropdown">
                  <span class="menu-title">{{$pc->name}}</span><b class="caret"></b>
               </a>   
             </li>   
       @endforeach 
     @endif
    
    @if($header)
    @foreach($标题为$pc)
    
  • @endforeach @恩迪夫
    我对你的帖子进行了编辑,因此它的格式更好。请注意如何使用代码块。我仍然不完全明白你在问什么,所以如果下面的答案不是你想要的,请尝试进一步解释你的问题。它可以工作,但每个循环的标题都在我的导航栏中,并在每个页面上调用它,我不会一次又一次地在浏览器中写入名为header的路由,我能做什么,建议一些东西。你可以用一个正斜杠代替它HomeController@header')->name('header')这样你就可以把代码放在与主路径相对应的视图中——我是指带有正向斜杠的路径如果我在主路径中写下这段代码,那么它只适用于主页,但我想在每个页面上使用导航栏标题,然后你可以提取这段代码,并将其作为整个应用程序的主布局。