Php laravel 5搜索查询问题

Php laravel 5搜索查询问题,php,mysql,laravel-5,Php,Mysql,Laravel 5,我需要从DB表中搜索过滤不同的列,这些过滤列是groupA、groupb和groupC,每列在DB表中有以下值之一high、low、medium 但前端用户有另一个名为“none”的值,但该值不包含在数据库中 这是我目前的问题 public function show($groupA, $groupB, $groupC) { $FodMaps = FodMap::where('groupA', '=', $groupA)->where('groupB', '='

我需要从DB表中搜索过滤不同的列,这些过滤列是groupA、groupb和groupC,每列在DB表中有以下值之一
high、low、medium

但前端用户有另一个名为“none”的值,但该值不包含在数据库中

这是我目前的问题

  public function show($groupA, $groupB, $groupC)
    {
        $FodMaps = FodMap::where('groupA', '=', $groupA)->where('groupB', '=', $groupB)->where('groupC', '=', $groupC)->get();
        return $FodMaps;


    }
我想要的是,如果用户搜索的值不包含在db中(高/低/中等),它应该搜索除具有不匹配值的列之外的其他列

例:

如果用户以上述方式输入,则应根据值显示结果

但是如果用户输入如下内容

由于groupC列中的“none”值不存在,它应该只搜索其他两列,而不考虑groupC的值


请注意

您可以像这样动态添加查询条件



    public function show($groupA, $groupB, $groupC)
    {
        $query = FodMap::query();
        if ($groupA !== 'none') {
          $query->where('groupA', '=', $groupA)
        }

        if ($groupB !== 'none') {
          $query->where('groupB', '=', $groupB)
        }

        if ($groupC !== 'none') {
          $query->where('groupC', '=', $groupC)
        }

        return $query->get();
    }


您可以像这样动态添加查询条件



    public function show($groupA, $groupB, $groupC)
    {
        $query = FodMap::query();
        if ($groupA !== 'none') {
          $query->where('groupA', '=', $groupA)
        }

        if ($groupB !== 'none') {
          $query->where('groupB', '=', $groupB)
        }

        if ($groupC !== 'none') {
          $query->where('groupC', '=', $groupC)
        }

        return $query->get();
    }