Maison  >  Article  >  développement back-end  >  Comment sélectionner le nombre à l'aide du générateur de requêtes fluide de Laravel ?

Comment sélectionner le nombre à l'aide du générateur de requêtes fluide de Laravel ?

WBOY
WBOYavant
2023-09-04 22:17:06767parcourir

Comment sélectionner le nombre à laide du générateur de requêtes fluide de Laravel ?

Le générateur de requêtes fluide de Laravel est une interface chargée de créer et d'exécuter des requêtes de base de données. Le générateur de requêtes fonctionne bien avec toutes les bases de données prises en charge par Laravel et peut être utilisé pour effectuer presque toutes les opérations de base de données.

L'avantage d'utiliser le générateur de requêtes fluide est qu'il protège contre les attaques par injection SQL. Il utilise la liaison de paramètres PDO et vous êtes libre d'envoyer des chaînes selon vos besoins.

Smooth query Builder prend en charge de nombreuses méthodes telles que count, min, max, avg, sum pour obtenir les valeurs récapitulatives de la table.

Voyons maintenant comment obtenir le nombre dans une requête de sélection à l'aide du générateur de requêtes fluide. Pour utiliser le générateur de requêtes fluide, utilisez la classe de façade de base de données comme indiqué ci-dessous

use Illuminate\Support\Facades\DB;

Vérifions maintenant quelques exemples pour obtenir le nombre de requêtes sélectionnées. Supposons que nous créions une table appelée Students en utilisant la requête suivante

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

et remplissez-le comme indiqué ci-dessous -

+----+---------------+------------------+-----------------------------+-----------------------------+---------+ 
| 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    | 
+----+---------------+------------------+-----------------------------+-----------------------------+---------+

Le nombre d'enregistrements dans le tableau est de 4.

Exemple 1

Dans l'exemple ci-dessous, nous utilisons des étudiants dans DB::table. La méthode count() est chargée de renvoyer le total des enregistrements présents dans la table.

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

Sortie

Le résultat de l'exemple ci-dessus est -

The count of students table is :4

Exemple 2

Dans cet exemple, selectRaw() sera utilisé pour obtenir le nombre total d'enregistrements présents dans la table.

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

L'ID de colonne est utilisé dans le count() de la méthode selectRaw() et utilise pluck pour obtenir le nombre.

Sortie

La sortie du code ci-dessus est -

The count of students table is :[4]

Exemple 3

Cet exemple utilisera la méthode selectRaw(). Supposons que vous souhaitiez compter le nombre de noms, par exemple Rehan Khan. Voyons comment utiliser selectRaw() avec la méthode 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;
   }
}

Dans l'exemple ci-dessus, nous voulons trouver la table : Étudiants nommés Rehan Khan的人数b> La requête est donc écrite juste pour l'obtenir.

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

Nous avons utilisé la méthode selectRaw() pour compter les enregistrements à partir desquels filtrer. Enfin, utilisez la méthode pluck() pour obtenir la valeur du nombre.

Sortie

La sortie du code ci-dessus est -

The count of name:Rehan Khan in students table is :[2]

Exemple 4

Si vous envisagez d'utiliser la méthode count() pour vérifier si un enregistrement existe dans la table, vous pouvez également utiliser la méthode exist() ou doesntExist() comme indiqué ci-dessous -

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

Sortie

La sortie du code ci-dessus est -

Record with name Rehan Khan Exists in the table :students

Exemple 5

Utilisez la méthode doesntExist() pour vérifier si des enregistrements sont disponibles dans la table donnée.

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

Sortie

La sortie du code ci-dessus est -

Record with name Rehan Khan Does not Exists in the table :students

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer