搜索查询中的条件不起作用

时间:2017-03-14 17:30:44

标签: laravel

我有一个搜索查询功能似乎无法使用最后一个条件。 ( - > where(' structure_id',' =',$ mastructure);

事实上,当我运行查询时,我还获得了其他" structure_id"

的其他许可证。

这里是我的搜索控制器

 public function getLicenciesStructure(Request $request){

        $mastructure = Auth::user()->structure->id ;

        $search = $request->get('recherche');
        if ($search) {
            $query = Licencies::Where('lb_nom', 'like', "%$search%")->orWhere('num_licence' , 'like'  , "%$search%")->where('structure_id' , '=' , $mastructure);
        }

        $licenciestructures = $query->paginate(10)
            ->appends(['recherche' => $search]);

        return view('licencie_structure/index' , compact('licenciestructures' , 'mastructure'));


    }

有人知道为什么查询还显示其他structure_id中的其他项?非常感谢提前

1 个答案:

答案 0 :(得分:1)

使用where()关闭:

Licencies::where(function($q) use($search) {
    $q->where('lb_nom', 'like', '%'.$search'%')
      ->orWhere('num_licence', 'like', '%'.$search.'%');
})->where('structure_id', $mastructure);