Der Fluent Query Builder in Laravel ist eine Schnittstelle, die für die Erstellung und Ausführung von Datenbankabfragen verantwortlich ist. Der Abfrage-Builder funktioniert gut mit allen von Laravel unterstützten Datenbanken und kann für nahezu jede Datenbankoperation verwendet werden.
Der Vorteil der Verwendung des Fluent Query Builders besteht darin, dass er vor SQL-Injection-Angriffen schützt. Es nutzt die PDO-Parameterbindung und Sie können nach Bedarf Zeichenfolgen senden.
Smooth Query Builder unterstützt viele Methoden wie count, min, max, avg, sum, um zusammenfassende Werte aus der Tabelle abzurufen.
Lassen Sie uns nun sehen, wie Sie mit dem Fluent Query Builder die Anzahl in einer ausgewählten Abfrage ermitteln. Um den Fluent Query Builder zu verwenden, verwenden Sie die Datenbankfassadenklasse wie unten gezeigt
use Illuminate\Support\Facades\DB;
Schauen wir uns nun ein paar Beispiele an, um die Anzahl in ausgewählten Abfragen zu ermitteln. Angenommen, wir erstellen eine Tabelle mit dem Namen „Studenten“ mithilfe der folgenden Abfrage
CREATE TABLE students( id INTEGER NOT NULL PRIMARY KEY, name VARCHAR(15) NOT NULL, email VARCHAR(20) NOT NULL, created_at VARCHAR(27), updated_at VARCHAR(27), address VARCHAR(30) NOT NULL );
und füllen Sie es wie unten gezeigt aus -
+----+---------------+------------------+-----------------------------+-----------------------------+---------+ | id | name | email | created_at | updated_at | address | +----+---------------+------------------+-----------------------------+-----------------------------+---------+ | 1 | Siya Khan | siya@gmail.com | 2022-05-01T13:45:55.000000Z | 2022-05-01T13:45:55.000000Z | Xyz | | 2 | Rehan Khan | rehan@gmail.com | 2022-05-01T13:49:50.000000Z | 2022-05-01T13:49:50.000000Z | Xyz | | 3 | Rehan Khan | rehan@gmail.com | NULL | NULL | testing | | 4 | Rehan | rehan@gmail.com | NULL | NULL | abcd | +----+---------------+------------------+-----------------------------+-----------------------------+---------+
Die Anzahl der Datensätze in der Tabelle beträgt 4.
Im folgenden Beispiel verwenden wir Students in DB::table. Die Methode count() ist dafür verantwortlich, die Gesamtzahl der in der Tabelle vorhandenen Datensätze zurückzugeben.
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class StudentController extends Controller{ public function index() { $count = DB::table('students')->count(); echo "The count of students table is :".$count; } }
Die Ausgabe des obigen Beispiels ist -
The count of students table is :4
In diesem Beispiel wird selectRaw() verwendet, um die Gesamtzahl der in der Tabelle vorhandenen Datensätze abzurufen.
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function index() { $count = DB::table('students')->selectRaw('count(id) as cnt')->pluck('cnt'); echo "The count of students table is :".$count; } }
Die Spalten-ID wird innerhalb von count() der selectRaw()-Methode verwendet und verwendet Pluck, um die Anzahl zu ermitteln.
Die Ausgabe des obigen Codes ist -
The count of students table is :[4]
In diesem Beispiel wird die Methode selectRaw() verwendet. Angenommen, Sie möchten die Anzahl der Namen zählen, zum Beispiel Rehan Khan. Sehen wir uns an, wie man selectRaw() mit der Methode count()
verwendet<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function index() { $count = DB::table('students')-> where('name', 'Rehan Khan')-> selectRaw('count(id) as cnt')->pluck('cnt'); echo "The count of name:Rehan Khan in students table is :".$count; } }
Im obigen Beispiel möchten wir die -Tabelle finden: Studenten mit dem Namen Rehan Khan的人数b> Daher wird die Abfrage nur geschrieben, um sie zu erhalten.
DB::table('students')->where('name', 'Rehan Khan')->selectRaw('count(id) as cnt')->pluck('cnt');
Wir haben die Methode selectRaw() verwendet, um die Datensätze zu zählen, aus denen der Filter stammt. Verwenden Sie abschließend die Methode pluck(), um den Zählwert zu erhalten.
Die Ausgabe des obigen Codes ist -
The count of name:Rehan Khan in students table is :[2]
Wenn Sie vorhaben, die Methode count() zu verwenden, um zu überprüfen, ob ein Datensatz in der Tabelle vorhanden ist, können Sie alternativ die Methode exist() oder doesntExist() verwenden, wie unten gezeigt -
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class StudentController extends Controller{ public function index() { if (DB::table('students')->where('name', 'Rehan Khan')->exists()) { echo "Record with name Rehan Khan Exists in the table :students"; } } }
Die Ausgabe des obigen Codes ist -
Record with name Rehan Khan Exists in the table :students
Verwenden Sie die Methode doesntExist(), um zu überprüfen, ob in der angegebenen Tabelle Datensätze verfügbar sind.
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class StudentController extends Controller{ public function index() { if (DB::table('students')->where('name', 'Neha Khan')->doesntExist()) { echo "Record with name Rehan Khan Does not Exists in the table :students"; } else { echo "Record with name Rehan Khan Exists in the table :students"; } } }
Die Ausgabe des obigen Codes ist -
Record with name Rehan Khan Does not Exists in the table :students
Das obige ist der detaillierte Inhalt vonWie wähle ich die Anzahl mit dem Fluent Query Builder von Laravel aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!