2017-05-01 2 views
1

Ich bin auf der Suche nach einer Abfrage wo in einer Abfrage wo.Wie verschachtelt where-Klausel in Laravel korrekt?

Ich möchte es immer überprüfen, ob der Typ% Accu% ist.

$products = Product::where('type','LIKE', '%Accu%') 
      ->where('beschrijving', 'LIKE','%'. $searchquery .'%') 
      ->where('artikelcode','LIKE','%' . $searchquery . '%') 
      ->where('prijs','LIKE','%' . $searchquery . '%') 
      ->get(); 

Ich habe versucht:

$products = Product::where('type','LIKE', '%Accu%', function($query) use ($searchquery) { 
      $query->where('beschrijving', 'LIKE','%'. $searchquery .'%')->orWhere('artikelcode','LIKE','%' . $searchquery . '%')->orWherewhere('prijs','LIKE','%' . $searchquery . '%')->get(); 
     })->get(); 

Jede Hilfe

+0

was ist der Fehler? –

+0

Rückschluss kann nicht in Zeichenfolge konvertiert werden – Rubberduck1337106092

+2

sind Sie versuchen, entfernen Sie Get() von verschachtelten Funktion? –

Antwort

1

Für nisten Sie Closure Rückruf an den in dem Zustand Funktion zu übergeben geschätzt wird müssen. Sie erreichen dies mit folgenden

$products = Product::where('type','LIKE', '%Accu%') 
    ->where(function($query) use ($searchquery) { 
     $query->where('beschrijving', 'LIKE','%'. $searchquery .'%') 
      ->orWhere('artikelcode','LIKE','%' . $searchquery . '%') 
      ->orWherewhere('prijs','LIKE','%' . $searchquery . '%'); 
    })->get(); 
+0

Dies funktioniert dank. – Rubberduck1337106092

Verwandte Themen