Heim  >  Artikel  >  PHP-Framework  >  Wozu dient DB::raw in Laravel?

Wozu dient DB::raw in Laravel?

WBOY
WBOYOriginal
2022-02-18 11:17:275055Durchsuche

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');".

Wozu dient DB::raw in Laravel?

Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 6, Dell G3-Computer.

Was ist die Verwendung von DB::raw in Laravel?

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(&#39;status&#39;, &#39;<>&#39;, 1)
                   ->groupBy(&#39;status&#39;)
                   ->get();

Beispiel 3:

 DB::table(&#39;someTable&#39;)
->selectRaw(&#39;count(*), min(some_field) as someMin, max(another_field) as someMax&#39;)
->get();

; Beispiel 4:

DB::table(&#39;someTable&#39;)->select(
array(
        DB::raw(&#39;min(some_field) as someMin&#39;),
        DB::raw(&#39;max(another_field) as someMax&#39;),
        DB::raw(&#39;COUNT(*) as `count`&#39;)
    )
)->get()

【Verwandte Empfehlung:

Laravel-Video-Tutorial

Das 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn