Zugriff auf unformatierte SQL-Abfragen über den Datenbankabfrage-Builder
Der Datenbankabfrage-Builder von Laravel bietet eine praktische Möglichkeit, SQL-Abfragen zu erstellen. Es kann jedoch nützlich sein, die rohe SQL-Abfragezeichenfolge abzurufen, die generiert wird. Dies ist nützlich für die Fehlerbehebung oder die Erstellung herstellerunabhängiger Abfragen.
Verwenden Sie die toSql()-Methode
Um die Roh-SQL-Abfrage zu erhalten, verwenden Sie die toSql()-Methode auf der QueryBuilder-Instanz. Zum Beispiel:
<code class="language-php">$query = DB::table('users'); $sql = $query->toSql();</code>
Dadurch wird die rohe SQL-Abfragezeichenfolge zurückgegeben, zum Beispiel:
<code class="language-sql">select * from `users`</code>
Vorteile gegenüber Event-Listenern
Früher wurde empfohlen, Ereignis-Listener zu verwenden, um unformatierte SQL-Abfragen zu erfassen. Die toSql()-Methode ist jedoch einfacher und vermeidet die Notwendigkeit, Ereignis-Listener zu verbinden. Außerdem können Sie damit überprüfen, wie Ihre Abfrage in jeder Phase des Builds aussieht.
Einschränkungen
Bitte beachten Sie, dass die toSql()-Methode die Abfrage nicht ausführt. Wenn Sie sowohl die Abfrage ausführen als auch SQL abrufen müssen, können Sie diese Methode nicht verwenden.
Das obige ist der detaillierte Inhalt vonWie kann ich über den Database Query Builder von Laravel auf die Raw-SQL-Abfrage zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!