我无法在laravel 5.5中的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
以下是我得到的错误:
未定义的变量:类别(查看: C:\ laragon \ WWW \ XXXXXXXX \资源\意见\前端\ slider.blade.php) (视图: C:\ laragon \ WWW \ XXXXXXXX \资源\意见\前端\ slider.blade.php) (视图: C:\ laragon \ WWW \ XXXXXXXX \资源\视图\前端\ slider.blade.php)
答案 0 :(得分:0)
您必须在引导方法add {/ p>中的app > Providers > ComposerServiceProvider
中添加一个视图编辑器
View::composer('frontend.slider', function ($view) {
$categories = Category::orderby('id', 'desc')->take(9)->get();
$view->with('categories', $categories);
});
为什么?
因为您在布局中包含滑块,所以如果您只访问主页,则会看到滑块,此处的问题是您在访问leftmenu
时调用/slider
而不是类别的主页不存在。