Php 通过类别链接显示Laravel 5.4

Php 通过类别链接显示Laravel 5.4,php,sql,laravel,routes,Php,Sql,Laravel,Routes,我有一个带4个按钮的侧导航: 计算机 笔记本电脑 移动 平板电脑 我想要的是一种方式来路由我的观点,这样我就可以得到只有在该类别的帖子 CategoryContoller public function show(Category $category) { $posts = Category::findOrFail($category)->posts()->get(); return view('pages.computer',compact('cat

我有一个带4个按钮的侧导航:

计算机
笔记本电脑
移动
平板电脑

我想要的是一种方式来路由我的观点,这样我就可以得到只有在该类别的帖子

CategoryContoller

  public function show(Category $category)
    {
      $posts = Category::findOrFail($category)->posts()->get();
    return view('pages.computer',compact('category'))->with('posts',$posts);
路线

Route::get('{category}',[
             'uses' => 'CatController@showComputer',
             'as' => 'pages.computer']);
如果我把我的网站/电脑放在这里,我会得到所有属于电脑类别的帖子,如果我把我的网站/手机放在一起,也是一样。
因此查询正在运行。
现在我怎样才能:

{{route('')}


我的视图,以便我可以通过sidenav链接显示每个类别。

您可以在视图中创建
@foreach
循环,以呈现所有类别,例如:

<ul>

  @foreach($categories as $category)

    <li><a href="categories/{{ $category->name }}">{{ $category->name }}</a></li>

  @endforeach

</ul>
在现有的索引方法中:

public function index {
   $categories = Category::all();
   return view('pages.index',compact('categories'));
}

你可以试试类似的东西

<a href="{{ route('pages.computer', ['category' => $category->name]) }}">
    {{ $category->name }}
</a>


只要用url中使用的任何列替换
->name

如果您的路线是这样的话

Route::get('/categories/{slug}', 'CategoryController@menuCats');
您可以在刀片模板中使用此路由的URL,如下所示

<span><a href="{{url('categories/'.$category->slug)}}"></a></span>


这看起来是个不错的选择!!我会在回家后尝试,同时我的问题是,如果我不手动键入,我就无法知道如何将计算机类别名称显示在我的URI上!!不知什么原因,我有点困惑。如果我去{route('pages.computer')},我会丢失一个URI参数{category}。你可以像我那样在花括号中传递类别。方法很简单,但是我如何选择类别名称而不手动键入mywebsite/Computers我知道,然后你可以像我在答案顶部向你展示的那样循环它们。这就是你想要达到的目标吗?你所说的给了我所有的分类!!我想要的是:我将路由设置为route::get(“{category}”),等等。。。现在我要寻找的是一种使用blade route获得链接以使用上述路由的方法,类别字段为Computers或Mobile或我想要的任何其他单词。此路由将为您提供一组链接,如
example.com/category1
example.com/category2
等等。很抱歉,如果我没有理解你的意思,那么要获得带有{{route('pages.computer')}的category1路由,我应该如何通过呢?
<span><a href="{{url('categories/'.$category->slug)}}"></a></span>