2016-11-26 6 views
0

Привета ищут мою приборную панель функциюorWhere вопросы в поисках

  • КАТАЛОГА СТИЛИ
  • Сохранены СТИЛИ

Стиль каталога прекрасно работает, но сохраненный стиль ищет на основе пользователя, является есть способ, которым является 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), мы хотим, чтобы это было и следующие, где заявления не или, как мы делаем это?

ответ

1

Если вы хотите его так, что все, или где сгруппированы, то вы бы поместить их внутрь 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); 
+0

это то, что он дал мне синтаксическую ошибку, неожиданные «}» , кстати, это то, чего я пытаюсь достичь http://stackoverflow.com/questions/19325312/laravel-eloquent-multiple-where-clause-query?rq=1 – udemethegrtman

+0

Я забыл ';', попробуйте сейчас – Sane

+0

Спасибо @Sane «Я тебя люблю» для этого. – udemethegrtman