2017-07-24 194 views
2

我剛剛發現了Laravel Scout,我想用搜索的方式進行搜索。如下圖所示Laravel Scout,在哪裏搜索

$notes = Note::search($request->lecturer_search)->where([ 
      ['course_id','=',$course_id], 
      ['course_code_number', '=', $request->course_code_number_search] 
     ])->orderBy('created_at','desc')->paginate(5); 

的代碼,但我得到這個錯誤:

類型錯誤:參數太少運作Laravel \偵察兵\生成器::其中(),1通過在/ home /流浪者/ www/Bee/app/Http/Controllers/SearchController.php在第36行,準確地說2期望

當我刪除哪裏clausure,沒有問題。

回答

2

偵察兵有它自己的where()方法,它只有兩個參數:字段和值。所以這樣做:

->where('course_id', $course_id) 
->where('course_code_number', $request->course_code_number_search) 

取而代之的是:

->where([ 
    ['course_id','=',$course_id], 
    ['course_code_number', '=', $request->course_code_number_search] 
]) 

你可以看一下where()方法here的源代碼。