您正在搜索我的信息中心功能
目录样式工作正常,但保存的样式是基于用户搜索的,有没有一种方法可以在一个andWhere()中搜索laravel中的哪里(某物)和哪里(另一件事)。
public function search(){
$wsSearch = Input::get('search');
$term = $wsSearch;
// search catalogue style
$searchedCatalogueStylesCount = Cataloguestyle::where('catalogue_style_name','LIKE','%'.$term.'%')
->orWhere('catalogue_categories','LIKE','%'.$term.'%')
->orWhere('catalogue_style_description','LIKE','%'.$term.'%')
->orWhere('catalogue_sub_categories','LIKE','%'.$term.'%')
->count();
$searchedCatalogueStyles = Cataloguestyle::where('catalogue_style_name','LIKE','%'.$term.'%')
->orWhere('catalogue_categories','LIKE','%'.$term.'%')
->orWhere('catalogue_style_description','LIKE','%'.$term.'%')
->orWhere('catalogue_sub_categories','LIKE','%'.$term.'%')
->paginate(50);
// search saved style
$searchedSaveStylesCount = Savestyle::where('user_id',Auth::user()->id)
->orWhere('catalogue_style_name','LIKE','%'.$term.'%')
->orWhere('catalogue_categories','LIKE','%'.$term.'%')
->orWhere('catalogue_style_description','LIKE','%'.$term.'%')
->orWhere('catalogue_sub_categories','LIKE','%'.$term.'%')
->count();
$searchedSaveStyles = Savestyle::where('user_id',Auth::user()->id)
->orWhere('catalogue_style_name','LIKE','%'.$term.'%')
->orWhere('catalogue_categories','LIKE','%'.$term.'%')
->orWhere('catalogue_style_description','LIKE','%'.$term.'%')
->orWhere('catalogue_sub_categories','LIKE','%'.$term.'%')
->paginate(50);
Session::flash('searchTerm',$term);
// return Redirect::to('/search')
return view('main_app.dashboard.search')
->with(['searchedCatalogueStyles' => $searchedCatalogueStyles,
'searchedSaveStyles' => $searchedSaveStyles,
'searchedCatalogueStylesCount' => $searchedCatalogueStylesCount,
'searchedSaveStylesCount' => $searchedSaveStylesCount
]);
}
如果仔细查看$searchedSaveStyles
变量,您会看到where('user_id',Auth::user()->id)
,我们希望它是a和以下哪些陈述不是,或者我们如何做?
答案 0 :(得分:1)
如果你想要它以便所有的OR WHERE被分组,那么你可以将它们放在带有函数的WHERE中,如下所示:
$searchedSaveStyles = Savestyle::where('user_id',Auth::user()->id)
->where(function($q) {
$q->orWhere('catalogue_style_name','LIKE','%'.$term.'%')
->orWhere('catalogue_categories','LIKE','%'.$term.'%')
->orWhere('catalogue_style_description','LIKE','%'.$term.'%')
->orWhere('catalogue_sub_categories','LIKE','%'.$term.'%');
})->paginate(50);