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
$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();
$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();
$users = User::select('name', 'email')->get();
Vous pouvez également utiliser * pour interroger toutes les colonnes :
$users = User::select (' *')->get();
$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();
$users = User::whereIn('age', [16, 17, 18])->get();
$users = User::whereNull('email')->get();
$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!