Maison > cadre php > Laravel > Explication détaillée de la méthode de boucle des résultats de requête dans Laravel

Explication détaillée de la méthode de boucle des résultats de requête dans Laravel

PHPz
Libérer: 2023-04-06 16:53:45
original
1581 Les gens l'ont consulté

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'
    ];

    // 定义关联关系等方法
}
Copier après la connexion

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

Interroger une donnée :

$user = App\Models\User::find(1);
Copier après la connexion

Interroger plusieurs données en fonction de conditions :

$users = App\Models\User::where('age', '>', 18)->get();
Copier après la connexion

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

Interroger une donnée :

$user = DB::table('user')->where('id', '=', 1)->first();
Copier après la connexion

Interroger plusieurs éléments de données en fonction de conditions :

$users = DB::table('user')->where('age', '>', 18)->get();
Copier après la connexion

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

Exemple de générateur de requêtes :

$users = DB::table('user')->get();
foreach($users as $user) {
    echo $user->name;
}
Copier après la connexion

(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][&#39;name&#39;];
}
Copier après la connexion

Exemple de générateur de requêtes :

$users = DB::table(&#39;user&#39;)->get()->toArray();
$total = count($users);
for($i = 0; $i < $total; ++$i) {
    echo $users[$i]->name;
}
Copier après la connexion

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!

source:php.cn
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