Pembina pertanyaan yang fasih dalam Laravel ialah antara muka yang bertanggungjawab untuk mencipta dan menjalankan pertanyaan pangkalan data. Pembina pertanyaan berfungsi dengan baik dengan semua pangkalan data yang disokong oleh Laravel dan boleh digunakan untuk melaksanakan hampir semua operasi pangkalan data.
Kelebihan menggunakan pembina pertanyaan yang fasih ialah ia melindungi daripada serangan suntikan SQL. Ia menggunakan pengikatan parameter PDO dan anda bebas menghantar rentetan mengikut keperluan.
Pembina pertanyaan yang lancar menyokong banyak kaedah seperti kira, min, maks, purata, jumlah untuk mendapatkan nilai ringkasan daripada jadual.
Sekarang mari kita lihat cara mendapatkan kiraan dalam pertanyaan pilihan menggunakan pembina pertanyaan yang fasih. Untuk menggunakan pembina pertanyaan yang fasih, gunakan kelas fasad pangkalan data seperti yang ditunjukkan di bawah
use Illuminate\Support\Facades\DB;
Sekarang mari kita semak beberapa contoh untuk mendapatkan kiraan dalam pertanyaan terpilih. Katakan kita mencipta jadual bernama Pelajar menggunakan pertanyaan berikut
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 );
dan isikan seperti yang ditunjukkan di bawah -
+----+---------------+------------------+-----------------------------+-----------------------------+---------+ | 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 | +----+---------------+------------------+-----------------------------+-----------------------------+---------+
Bilangan rekod dalam jadual ialah 4.
Dalam contoh di bawah, kami menggunakan pelajar dalam DB::table. Kaedah count() bertanggungjawab untuk mengembalikan jumlah rekod yang terdapat dalam jadual.
<?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; } }
Keluaran contoh di atas ialah -
The count of students table is :4
Dalam contoh ini, selectRaw() akan digunakan untuk mendapatkan jumlah bilangan rekod yang terdapat dalam jadual.
<?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; } }
ID lajur digunakan di dalam count() kaedah selectRaw() dan menggunakan pluck untuk mendapatkan kiraan.
Keluaran kod di atas ialah -
The count of students table is :[4]
Contoh ini akan menggunakan kaedah selectRaw(). Katakan anda ingin mengira bilangan nama, contohnya Rehan Khan. Mari lihat cara menggunakan selectRaw() dengan kaedah count()
<?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; } }
Dalam contoh di atas, kami ingin mencari jadual: pelajar bernama Rehan Khan #🎜 #.Jadi pertanyaan ditulis hanya untuk mendapatkannya. 的人数b>
DB::table('students')->where('name', 'Rehan Khan')->selectRaw('count(id) as cnt')->pluck('cnt');
Output
The count of name:Rehan Khan in students table is :[2]
count() untuk menyemak sama ada sebarang rekod wujud dalam jadual, secara alternatif anda boleh menggunakan exists() atau doesntExist() #🎜 🎜# Kaedahnya seperti berikut-
<?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";
}
}
}
Record with name Rehan Khan Exists in the table :students
Contoh 5
untuk menyemak sama ada terdapat rekod yang tersedia dalam jadual yang diberikan.
<?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";
}
}
}
Record with name Rehan Khan Does not Exists in the table :students
Atas ialah kandungan terperinci Bagaimana untuk memilih kiraan menggunakan pembina pertanyaan Laravel yang fasih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!