在 php laravel 中过滤

Filtering in php laravel

我正在处理一个基本页面。 我想使用复选框在页面上添加过滤器。每个产品都有特定的属性,应该根据点击的复选框过滤掉。 我该如何实现?

现在我的页面代码是这样的:

@extends('layouts.app')

@section('content')
    <h1>Products</h1>
    @if(count($products) > 0)
        @foreach($products as $product)
            <div class="well">
                <div class="row">
                    <div class="col-md-4 col-sm-4">
                        <img style="width:40%" src="/{{$product->photo}}">
                    </div>
                    <div class="col-md-2 col-sm-2">
                        <h3><a href="/products/{{$product->id}}">{{$product->name}}</a></h3>
                        <small> {{$product->description}}</small>
                    </div>
                </div>
            </div>
        @endforeach
    @else
        <p>No posts found</p>
    @endif

@endsection

我正在使用 php laravel

我发现了一种使用单选按钮实现此目的的非常简单的方法,而且它奏效了。

在视图页面上添加带过滤器的单选按钮,并在按下按钮时调用以下函数。

public function filter (Request $request)
{
    switch($request->submitbutton) {
        case 'Filter':

            //get selected filters to display
            $c1 = $request->input('radio button selected');

            //run the query to filter the result
            $products = DB::select(DB::raw("QUERY TO FILTER"));
            return view('products.products')->with('products',$products);
        break;
        //to clear out the filter, or display everything
        case 'Clear':
            $products = DB::select(DB::raw("QUERY TO CLEAR FILTER"));
            return view('products.filter')->with('products',$products);
        break;
    }
}