Maison  >  Article  >  cadre php  >  syntaxe de requête Laravel

syntaxe de requête Laravel

WBOY
WBOYoriginal
2023-05-29 10:01:37769parcourir

Laravel est l'un des frameworks PHP les plus populaires aujourd'hui. Sa syntaxe de requête est élégante, simple et facile à utiliser. Dans cet article, je vais approfondir la syntaxe de requête de Laravel, présenter quelques méthodes de requête courantes et comment effectuer des requêtes complexes.

Syntaxe de base de la requête Laravel
Dans Laravel, les instructions de requête sont construites à l'aide d'Eloquent ORM. ORM est Object Relational Mapping, qui nous permet d'exploiter la base de données de manière orientée objet, simplifiant considérablement le processus d'interaction avec la base de données.

Ce qui suit est un exemple utilisant la syntaxe de requête Laravel :

//Obtenir un seul utilisateur
$user = User::find(1);

//Obtenir une liste d'utilisateurs
$users = User::all( );

//Filtrage conditionnel, obtenez la liste des utilisateurs dans des conditions spécifiées
$users = User::where('age', '>', 18)->get();

//Mettre à jour les données
$user-> ;name = 'new name';
$user->save();

//Delete data
$user->delete();

Comme indiqué ci-dessus, en utilisant la syntaxe de requête Laravel, vous peut facilement mettre en œuvre des opérations CURD de base. Ci-dessous, nous présenterons quelques méthodes de requête couramment utilisées.

Méthodes de requête couramment utilisées

  1. where()
    where() est une méthode de filtrage conditionnel très courante. Filtrez les enregistrements qui répondent aux exigences en fonction de conditions données. Par exemple :

$users = User::where('age', '>', 18)->where('gender', 'male')->get();

where() méthode Vous pouvez également recevoir un troisième paramètre pour spécifier l'opérateur, par exemple :

$users = User::where('age', '>=', 18)->get();

  1. orderBy( )
    La méthode orderBy() est utilisée pour le tri. Par exemple, on peut trier par âge des utilisateurs :

$users = User::orderBy('age')->get();

Par défaut, la méthode orderBy() trie par ordre croissant. Si vous souhaitez trier par ordre décroissant, vous pouvez passer un paramètre DESC :

$users = User::orderBy('age', 'desc')->get();

De plus, le orderBy() La méthode peut recevoir plusieurs paramètres pour spécifier plusieurs conditions de tri :

$users = User::orderBy('age', 'desc')->orderBy('name')->get();

  1. select( ) La méthode
    select() est utilisée pour interroger la colonne spécifiée. Par exemple :

$users = User::select('name', 'email')->get();

Vous pouvez également utiliser * pour interroger toutes les colonnes :

$users = User::select (' *')->get();

  1. take() et skip()
    take() sont utilisées pour limiter le nombre d'enregistrements renvoyés, et skip() est utilisé pour ignorer un nombre spécifié d'enregistrements . Par exemple, nous pouvons interroger les 10 principaux utilisateurs :

$users = User::take(10)->get();

Nous pouvons également utiliser la méthode skip() pour implémenter la pagination :

$users = Utilisateur : :skip(10)->take(10)->get();

  1. whereIn() etwhereNotIn()
    whereIn(), les méthodes WhereNotIn() peuvent être utilisées pour utiliser IN et NOT IN dans les requêtes. Par exemple, pour obtenir des utilisateurs de moins de 18 ans, vous pouvez écrire :

$users = User::whereIn('age', [16, 17, 18])->get();

  1. whereNull( ) et la méthode WhereNotNull()
    whereNull() peut filtrer les enregistrements dont la colonne spécifiée est vide, et WhereNotNull() peut filtrer les enregistrements qui ne sont pas vides. Par exemple :

$users = User::whereNull('email')->get();

  1. groupBy() et have()
    groupBy() sont utilisées pour regrouper l'ensemble de résultats, tout en ayant ( ) est utilisée pour filtrer les résultats groupés. Par exemple, nous pouvons regrouper par sexe et filtrer les utilisateurs masculins de plus de 20 ans :

$users = User::groupBy('gender')->having('age', '>' , 20 )->get();

Requête complexe

Ce qui précède présente une utilisation de base de la syntaxe de requête Laravel. Cependant, dans le développement réel, les données que nous devons habituellement interroger peuvent être très complexes et davantage de méthodes d'interrogation doivent être utilisées pour y parvenir. Dans Laravel, vous pouvez utiliser Query Builder pour écrire des instructions de requête plus complexes.

Par exemple, afin d'interroger les utilisateurs dont la consommation cumulée dépasse 500 yuans dans le dossier d'achat de l'utilisateur, vous pouvez écrire comme ceci :

$users = DB::table('users')

        ->join('orders', 'users.id', '=', 'orders.user_id')
        ->select('users.id', 'users.name', 'users.email', DB::raw('SUM(orders.total) as total'))
        ->groupBy('users.id')
        ->having('total', '>', 500)
        ->get();

Dans le code ci-dessus , nous utilisons la méthode join() pour connecter la table utilisateur et la table de commande, la méthode groupBy() est utilisée pour regrouper les utilisateurs et la méthode have() est utilisée pour filtrer les utilisateurs dont la consommation cumulée dépasse 500 yuans.

Résumé

Dans Laravel, les opérations CURD de base peuvent être facilement implémentées à l'aide d'Eloquent ORM. Dans le même temps, des requêtes plus complexes peuvent être implémentées à l'aide de Query Builder. J'espère que cet article vous aidera à comprendre la syntaxe des requêtes de Laravel.

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