Dans les applications Laravel, nous devons généralement interroger la base de données pour obtenir les données requises. Lors de ces requêtes, nous devons parfois écrire des instructions conditionnelles dans le code pour vérifier les résultats de la requête et prendre les actions appropriées en fonction des résultats. Par conséquent, cet article expliquera comment juger les résultats d'une requête et écrire des instructions conditionnelles dans Laravel.
Tout d'abord, nous devons comprendre les types de résultats renvoyés par les requêtes Laravel. Les requêtes dans Laravel renvoient différents types de résultats en fonction de la méthode que vous utilisez lors de l'exécution de la requête. Voici quelques-unes des méthodes de requête les plus couramment utilisées et leurs types de valeurs de retour :
Connect Ensuite, nous apprendrons comment déterminer ces types de résultats et écrire des instructions conditionnelles.
Collection est l'un des types de résultats les plus couramment utilisés dans Laravel. Lorsque nous interrogeons à l’aide de la méthode get(), une instance Collection sera renvoyée.
Pour déterminer si la collection est vide, utilisez la méthode isEmpty(). Par exemple :
$users = DB::table('users')->get(); if ($users->isEmpty()) { // Collection为空的情况下执行的代码 } else { // Collection不为空的情况下执行的代码 }
Si vous devez exécuter du code uniquement lorsqu'il n'y a qu'un seul enregistrement dans la collection, utilisez la méthode isNotEmpty(). Par exemple :
$users = DB::table('users')->get(); if ($users->isNotEmpty()) { // Collection中有记录的情况下执行的代码 } else { // Collection为空的情况下执行的代码 }
Si vous avez besoin de rechercher un enregistrement spécifique dans la collection, utilisez la méthode contain(). Par exemple :
$users = DB::table('users')->get(); if ($users->contains('name', 'John')) { // Collection中包含记录的情况下执行的代码 } else { // Collection中不包含记录的情况下执行的代码 }
Lorsque nous utilisons la méthode first() pour interroger, une instance de Model sera renvoyée. Dans ce cas, nous pouvons utiliser une instruction if pour déterminer si le résultat est vide. Par exemple :
$user = DB::table('users')->where('email', 'john@example.com')->first(); if ($user) { // Model实例存在的情况下执行的代码 } else { // Model实例不存在的情况下执行的代码 }
De même, si vous utilisez la méthode find() pour rechercher un enregistrement, vous pouvez utiliser une instruction if pour déterminer si le résultat est vide. Par exemple :
$user = DB::table('users')->find(1); if ($user) { // Model实例存在的情况下执行的代码 } else { // Model实例不存在的情况下执行的代码 }
Lorsque vous utilisez la méthode pluck() pour obtenir une seule colonne dans une requête, un tableau sera renvoyé. Dans ce cas, nous pouvons utiliser la fonction empty() pour vérifier si le tableau est vide. Par exemple :
$emails = DB::table('users')->pluck('email'); if (empty($emails)) { // 数组为空的情况下执行的代码 } else { // 数组不为空的情况下执行的代码 }
Lorsque vous utilisez la méthode count() pour obtenir le nombre de résultats de requête, une valeur entière sera renvoyée. Dans ce cas, nous pouvons utiliser l'instruction if pour vérifier si le résultat est 0. Par exemple :
$count = DB::table('users')->count(); if ($count == 0) { // 记录数为0的情况下执行的代码 } else { // 记录数不为0的情况下执行的代码 }
Lorsque nous utilisons la méthode exist() pour vérifier si un enregistrement existe, une valeur booléenne sera renvoyée. Par exemple :
if (DB::table('users')->where('name', 'John')->exists()) { // 存在记录的情况下执行的代码 } else { // 不存在记录的情况下执行的代码 }
Résumé
Dans les applications Laravel, nous devons généralement écrire des instructions conditionnelles basées sur différents résultats de requête. Cet article explique comment évaluer les résultats de requête des types Collection, Model, Array, Int et Boolean, et fournit un exemple de code correspondant. Grâce à ces exemples, nous pouvons utiliser les méthodes de requête Laravel de manière plus flexible et gérer diverses situations.
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!