2016-06-06 20 views
1

Bisher verwenden, wenn ich Spalte Filterung versuche ich in der Lage bin wie oder REGEXP aber nether von ihnen sind mit Tabellenindizes zu verwenden, die ein großes Anliegen, die Menge gegeben ist Daten, die ich filtern muss.Wie DB-Indizes mit Datentabellen und yajra/Laravel-Datentabellen

Gibt es eine Möglichkeit, eine genaue Übereinstimmung mit Indizes zu bekommen? (DB-Indizes)

Ich verwende: https://github.com/yajra/laravel-datatables v6.11.3 und https://datatables.net v1.10.10

+0

Haben Sie dies versuchen http://stackoverflow.com/questions/9580647/how-to-use-a-full-text-index-for-exact -matches –

+0

Danke, aber das ist anders, meine Frage bezieht sich auf Datatables. Was ich mit yajra/laravel-databellen erreichen möchte, ist die Suche nach Spalten mit exakter Übereinstimmung anstelle von "% search%" oder REGEXP. Mein Ziel ist es, meinen Tabellenindex zu verwenden, um vollständige Tabellen-Scans zu vermeiden. –

Antwort

1

Mit Datentabellen Laravel Paket, das Sie Parametersuche auf Laravel Seite in Lookup-Funktion mit dem "filterColumn" anpassen Funktion. Wie so:

return Datatables::of($users) 
     ->filterColumn('user_id', function($query, $keyword) { 
      $query->whereRaw("CONCAT(users.id,'-',users.id) like ?", ["%{$keyword}%"]); 
     }) 
     ->make(true); 

Weitere Documentation

Verwandte Themen