Php Can';在laravel 5.5的索引页中无法获取foreach
我无法在laravel 5.5中的Php Can';在laravel 5.5的索引页中无法获取foreach,php,laravel,Php,Laravel,我无法在laravel 5.5中的indexpage中获取类别名称 这是我的控制器: public function leftmenu() { $categories = Category::orderby('id', 'desc')->take(9)->get(); return view('frontend.slider', compact('categories')); } 我的路线: Route::get('/slider', 'IndexC
indexpage
中获取类别名称
这是我的控制器:
public function leftmenu() {
$categories = Category::orderby('id', 'desc')->take(9)->get();
return view('frontend.slider', compact('categories'));
}
我的路线:
Route::get('/slider', 'IndexController@leftmenu');
我的布局:
@include('frontend.slider')
还有我的刀:
@foreach($categories as $category)
<li class="nav-item _icon">
<a href="./collections-all.html">
<img src="{{asset('default/frontend/assets/images/home3_icon_electronics.png')}}" alt="electronics">
<span>{{$category->title}}</span>
</a>
</li>
@endforeach
@foreach($categories作为$category)
@endforeach
以下是我得到的错误:
未定义变量:类别(视图:
C:\laragon\www\xxxxxxxx\resources\views\frontend\slider.blade.php)
(观点:
C:\laragon\www\xxxxxxxx\resources\views\frontend\slider.blade.php)
(观点:
C:\laragon\www\xxxxxxxx\resources\views\frontend\slider.blade.php)
您必须在启动方法的
app>Providers>composeServiceProvider
中添加视图生成器添加:
View::composer('frontend.slider', function ($view) {
$categories = Category::orderby('id', 'desc')->take(9)->get();
$view->with('categories', $categories);
});
为什么?
因为您在布局中包含了滑块,所以如果您只访问主页,您将看到滑块。这里的问题是,您在访问
/slider
时调用leftmenu
,而不是类别不存在的主页。您必须添加视图生成器,在启动方法的app>Providers>composeServiceProvider
中添加:
View::composer('frontend.slider', function ($view) {
$categories = Category::orderby('id', 'desc')->take(9)->get();
$view->with('categories', $categories);
});
为什么?
因为您在布局中包含了滑块,所以如果您只访问主页,您将看到滑块。这里的问题是,您在访问
/slider
时调用leftmenu
,而不是类别不存在的主页。在刀片文件中回送或打印,并检查是否正在加载视图文件@include('frontend.slider')
@Maraboc在布局文件中也将其移动到了索引中,但结果是相同的。您没有将$categories传递给slider,也没有将$categories作为全局变量传递给slider。这就是为什么它显示未定义的变量。你的slider.blade是否在前端目录中?在你的blade文件中回送或打印,并检查视图文件是否正在加载。你把@include('frontend.slider')
@Maraboc放在布局文件的哪里了?我也把它移到了索引中,但结果是一样的。你没有把$categories传递给slider,Nor$categories是滑块的全局变量。这就是为什么它显示未定义的变量是您的slider.blade在前端目录中?该Composer服务提供商在哪里?app>Providers>Composer服务提供商中的@mafortis
@maraboc是否可以在不加载提供商的情况下加载我的类别?因为下一步我需要从不同类别加载我的帖子!滑块将从所有页面查看还是仅从一个页面查看?滑块中需要帖子吗?该Composer服务提供商
在哪里?@mafortis在应用程序>提供商>Composer服务提供商
@maraboc是否可以在不加载提供商的情况下加载我的类别?因为下一步我需要从不同类别加载我的帖子!滑块将从所有页面查看还是仅从一个页面查看?滑块中是否需要立柱?