Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk memilih kiraan menggunakan pembina pertanyaan Laravel yang fasih?

Bagaimana untuk memilih kiraan menggunakan pembina pertanyaan Laravel yang fasih?

WBOY
WBOYke hadapan
2023-09-04 22:17:06805semak imbas

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;

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.

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;
   }
}

Output

Keluaran contoh di atas ialah -

The count of students table is :4

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;
   }
}

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]

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;
   }
}

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

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]

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";
      }
   }
}
Output

Keluaran kod di atas ialah -

Record with name Rehan Khan Exists in the table :students

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";
      }
   }
}
Output

Keluaran kod di atas ialah -

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam