Laravel est un framework de développement PHP populaire, dans lequel l'interrogation de la base de données est l'une des opérations fréquemment utilisées. Dans le processus de développement réel, il est parfois nécessaire de parcourir les résultats de la requête afin de les afficher ou de les traiter davantage. Cet article explique comment boucler les résultats d'une requête dans Laravel.
1. Interroger les données
Avant de commencer à boucler pour interroger les résultats, vous devez d'abord interroger les données. Laravel propose deux méthodes de requête : Eloquent ORM et Query Builder. Eloquent ORM est un mappage objet-relationnel qui peut mapper les tables de la base de données en objets, ce qui facilite l'exploitation de la base de données. Query Builder est également une méthode de requête. Il s'agit d'un modèle de générateur qui crée des instructions de requête SQL via des appels en chaîne.
Nous allons maintenant vous présenter comment utiliser Eloquent ORM et Query Builder pour interroger des données.
(1) Données de requête Eloquent ORM
Lorsque vous utilisez Eloquent ORM pour interroger des données, vous devez d'abord définir un modèle correspondant. Le modèle correspond à la table de la base de données. Nous pouvons définir des champs, des tables associées, des opérations sur les données et d'autres méthodes dans le modèle.
Exemple de définition de modèle :
namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { // 定义对应表的名称 protected $table = 'user'; // 定义主键名称 protected $primaryKey = 'id'; // 定义可被批量赋值的字段 protected $fillable = [ 'name', 'age', 'gender' ]; // 定义关联关系等方法 }
Après avoir défini le modèle, vous pouvez utiliser Eloquent ORM pour interroger.
Interroger toutes les données :
$users = App\Models\User::all();
Interroger une donnée :
$user = App\Models\User::find(1);
Interroger plusieurs données en fonction de conditions :
$users = App\Models\User::where('age', '>', 18)->get();
Il convient de noter ici que le résultat de la requête Eloquent ORM est un objet Collection, pas un tableau. Les objets de collection fournissent de nombreuses méthodes pratiques pour nous aider à traiter les données.
(2) Query Builder pour interroger des données
En utilisant Query Builder pour interroger des données, nous appelons directement la méthode de la classe DB. Lorsque vous utilisez Query Builder, vous devez d'abord appeler la méthode table de la classe DB pour spécifier la table de requête, puis vous pouvez créer une instruction de requête SQL via des appels en chaîne.
Interroger toutes les données :
$users = DB::table('user')->get();
Interroger une donnée :
$user = DB::table('user')->where('id', '=', 1)->first();
Interroger plusieurs éléments de données en fonction de conditions :
$users = DB::table('user')->where('age', '>', 18)->get();
2. Parcourez les résultats de la requête
Après avoir interrogé les données, nous pouvons parcourir la requête résultats. Vous pouvez utiliser une boucle foreach ou une boucle for pour parcourir.
(1) Utilisation de la boucle foreach
Lorsque vous utilisez la boucle foreach, parcourez simplement les résultats de la requête (objet Collection interrogé par Eloquent ORM ou objet stdClass interrogé par Query Builder) directement.
Exemple ORM éloquent :
$users = App\Models\User::all(); foreach($users as $user) { echo $user->name; }
Exemple de générateur de requêtes :
$users = DB::table('user')->get(); foreach($users as $user) { echo $user->name; }
(2) Utilisation de la boucle for
Lors de l'utilisation de la boucle for, vous devez d'abord convertir les résultats de la requête en tableau, puis parcourir.
Exemple ORM éloquent :
$users = App\Models\User::all()->toArray(); $total = count($users); for($i = 0; $i < $total; ++$i) { echo $users[$i]['name']; }
Exemple de générateur de requêtes :
$users = DB::table('user')->get()->toArray(); $total = count($users); for($i = 0; $i < $total; ++$i) { echo $users[$i]->name; }
Résumé
Dans cet article, nous avons présenté les deux méthodes d'interrogation de données dans Laravel, Eloquent ORM et Query Builder, et avons fourni l'utilisation de la boucle foreach et de la boucle for. Exemple de code pour le parcours. Dans le processus de développement actuel, vous pouvez choisir la méthode appropriée pour l'interrogation et le parcours des données en fonction des besoins spécifiques de l'entreprise.
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!