在我的Laravel应用程序中,我遇到了一个轻微的困难,找出问题,我的动态类别链接。我有一个“新闻”页面,其中有一个动态类别下拉列表,它将用户带到“类别”页面,并附带相应的文章。当我尝试将相同的菜单放在“类别”页面上时,“类别”页面将只显示category_id = 9的帖子。在我的表格中,这是最高的category_id。
页面标题和网址实际上是正确的,只是内容不正确。如果我然后从'类别'页面删除下拉列表,那就是'新闻'上的那个。页面,工作正常。我想在同一页面上找到它们,如果有人可以告诉我,我哪里出错了,那就太好了。
FrontEndController中的方法,用于category.blade.php:
public function category($slug)
{
$category = Category::where('slug', $slug)->first();
return view('category')->with('category', $category)
->with('categories', Category::all())
->with('settings', Setting::first());
}
news.blade.php的方法:
public function news()
{
return view('news')
->with('posts', Post::orderBy('created_at', 'desc')->paginate(10))
->with('categories', Category::all())
->with('settings', Setting::first());
}
在我的category.blade.php中,我用一个简单的foreach来调用类别:
<ul class="dropdown menu no-bullet menuSub align-center" data-dropdown-menu>
<li>
<a href="#">Filter News By Category</a>
<ul class="menu">
@foreach($categories as $category)
@if($category->posts->count() > 0)
<li style="width: 100%; display: inline-block">
<a class="text-center catDrop" href="{{ route('category', ['slug' => $category->slug ]) }}">{{ $category->name }}</a>
</li>
@endif
@endforeach
</ul>
</li>
</ul>
我的路线是:
Route::get('/category/{slug}', ['uses' => 'FrontEndController@category', 'as' => 'category']);
我一直试图解决这个问题,过了几天我无法弄清楚它为什么这么做或如何解决它。谢谢