2017-07-24 63 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的源代码。