In Laravel wird die Methode „DB::raw()“ für komplexe SQL-Abfragen verwendet. Diese Methode kann die abgefragte Ergebnismenge als temporäre Tabelle behandeln und dann die Abfrage-Builder-Syntax von Laravel für die Paging-Verarbeitung verwenden. "DB::raw('Funktion oder Feld');".
Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 6, Dell G3-Computer.
Ich bin auf ein Problem im Projekt gestoßen. Bei komplexen SQL-Abfragen ist es sehr unpraktisch, den Abfragekonstruktor von Laravel zu verwenden , was verwirrend ist; dann möchte ich native SQL-Anweisungen zum Abfragen verwenden, aber dann kann ich die Paging-Methode von Laravel nicht verwenden, die DB::raw()-Methode ist praktisch! Das Prinzip der Syntax besteht darin, die Ergebnismenge Ihrer Abfrage als temporäre Tabelle zu behandeln und dann die Abfrage-Builder-Syntax von Laravel für die Paging-Verarbeitung zu verwenden
Beispiel 1:
$users = DB::table('users') ->select(DB::raw('count(*) as user_count, status')) ->where('status', '<>', 1) ->groupBy('status') ->get();
Beispiel 3:
DB::table('someTable') ->selectRaw('count(*), min(some_field) as someMin, max(another_field) as someMax') ->get();
; Beispiel 4:
DB::table('someTable')->select( array( DB::raw('min(some_field) as someMin'), DB::raw('max(another_field) as someMax'), DB::raw('COUNT(*) as `count`') ) )->get()
【Verwandte Empfehlung:
Laravel-Video-TutorialDas obige ist der detaillierte Inhalt vonWozu dient DB::raw in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!