Bagaimana untuk memilih kiraan menggunakan pembina pertanyaan Laravel yang fasih?

WBOY
Lepaskan: 2023-09-04 22:18:02
ke hadapan
766 orang telah melayarinya

Bagaimana untuk memilih kiraan menggunakan pembina pertanyaan Laravel yang fasih?

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;
Salin selepas log masuk

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 
);
Salin selepas log masuk

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    | 
+----+---------------+------------------+-----------------------------+-----------------------------+---------+
Salin selepas log masuk

Bilangan rekod dalam jadual ialah 4.

Contoh 1

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;
   }
}
Salin selepas log masuk

Output

Keluaran contoh di atas ialah -

The count of students table is :4
Salin selepas log masuk

Contoh 2

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;
   }
}
Salin selepas log masuk

ID lajur digunakan di dalam count() kaedah selectRaw() dan menggunakan pluck untuk mendapatkan kiraan.

Output

Keluaran kod di atas ialah -

The count of students table is :[4]
Salin selepas log masuk

Contoh 3

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;
   }
}
Salin selepas log masuk

Dalam contoh di atas, kami ingin mencari jadual: pelajar bernama Rehan Khan #🎜 #.Jadi pertanyaan ditulis hanya untuk mendapatkannya.

DB::table('students')->where('name', 'Rehan Khan')->selectRaw('count(id) as cnt')->pluck('cnt');
Salin selepas log masuk

Kami menggunakan kaedah selectRaw() untuk mengira rekod daripada penapis tempat. Akhir sekali, gunakan kaedah pluck() untuk mendapatkan nilai kiraan.

Output

Keluaran kod di atas ialah -

The count of name:Rehan Khan in students table is :[2]
Salin selepas log masuk

Contoh 4

Jika anda merancang untuk menggunakan kaedah

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";
      }
   }
}
Salin selepas log masuk
Output

Keluaran kod di atas ialah -

Record with name Rehan Khan Exists in the table :students
Salin selepas log masuk

Contoh 5

Gunakan kaedah

doesntExist()

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";
      }
   }
}
Salin selepas log masuk
Output

Keluaran kod di atas ialah -

Record with name Rehan Khan Does not Exists in the table :students
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan