Laravel 我的排序过滤器不起作用,但我没有错误或没有消息

问题描述 投票:0回答:1

//我的路线

Route::get('catalogue/{categorie?}','App\Http\Controllers\CatalogueController@index')->name('catalogue');

//我的功能

function index($categorie = null )
    {
        if($categorie)
        {
            $products = \App\Models\Category::where('slug',$categorie)
                ->first()
                ->products()->paginate(12);

        }else{
            $products = \App\Models\Product::paginate(3);
        }   

        $categories = \App\Models\Category::all();
        $brands = \App\Models\Brand::all();

        return view('catalogue.index',compact('products','categories','brands'));
    }

//我的看法

<ul>
@foreach($categories as $categorie)
<li> <a href="{{route('catalogue',['slug'=>$categorie->slug])}}">{{$categorie->name}}</a> </li>
@endforeach    
</ul>

如果需要屏幕 enter image description here

我尝试按类别显示我的产品。例如,如果我单击一个类别,则应显示属于该类别的所有产品,但它们不会。我观察到 URL 似乎有效(参见屏幕),但无论我选择哪个类别单击我总是只有相同的 3 种产品,所以我猜类别不存在。为什么以及如何修复它?谢谢你

laravel sorting routes view controller
1个回答
0
投票

根据上面的路线定义,您的路线接受

categorie
参数,而不是
slug

为此更改您的路线:

<a href="{{route('catalogue',['categorie'=>$categorie->slug])}}">
© www.soinside.com 2019 - 2024. All rights reserved.