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

WBOY
Libérer: 2023-09-04 22:18:02
avant
738 Les gens l'ont consulté

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;
Copier après la connexion

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 
);
Copier après la connexion

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    | 
+----+---------------+------------------+-----------------------------+-----------------------------+---------+
Copier après la connexion

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;
   }
}
Copier après la connexion

Sortie

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

The count of students table is :4
Copier après la connexion

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;
   }
}
Copier après la connexion

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]
Copier après la connexion

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;
   }
}
Copier après la connexion

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

DB::table('students')->where('name', 'Rehan Khan')->selectRaw('count(id) as cnt')->pluck('cnt');
Copier après la connexion

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]
Copier après la connexion

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";
      }
   }
}
Copier après la connexion

Sortie

La sortie du code ci-dessus est -

Record with name Rehan Khan Exists in the table :students
Copier après la connexion

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";
      }
   }
}
Copier après la connexion

Sortie

La sortie du code ci-dessus est -

Record with name Rehan Khan Does not Exists in the table :students
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!