Ensemble de données (générateur de requêtes 19)
Le résultat de la requête de la base de données est également un ensemble de données. Par défaut, le type d'ensemble de données est un tableau à deux dimensions, mais il peut prendre en charge le renvoi d'un objet d'ensemble de données. Utilisez la méthode fetchCollection :
// 获取数据集 $users = Db::name('user')->fetchCollection()->select(); // 遍历数据集 foreach($users as $user){ echo $user['name']; echo $user['id']; }
Les données renvoyées. L'objet set est thinkCollection. Il fournit la même utilisation que les tableaux et encapsule également certaines méthodes supplémentaires.
Effectuez une requête d'ensemble de données dans le modèle, tous les objets de l'ensemble de données seront renvoyés, mais la classe thinkmodelCollection (héritée de thinkCollection) est utilisée, mais l'utilisation est cohérente.
Les objets Dataset peuvent être manipulés directement à l'aide de tableaux, par exemple :
// 获取数据集 $users = Db::name('user')->fetchCollection()->select(); // 直接操作第一个元素 $item = $users[0]; // 获取数据集记录数 $count = count($users); // 遍历数据集 foreach($users as $user){ echo $user['name']; echo $user['id']; }
La méthode fetchCollection prend également en charge la transmission du nom de la classe de collection personnalisée (doit hériter de thinkCollection).
Il convient de noter que si vous souhaitez juger si l'ensemble de données est vide, vous ne pouvez pas utiliser directement vide pour juger, mais devez utiliser la méthode isEmpty de l'objet ensemble de données pour juger, par exemple :
$users = Db::name('user')->fetchCollection()->select(); if($users->isEmpty()){ echo '数据集为空'; }
La classe Collection contient les méthodes principales suivantes :
Method | Description |
---|---|
isEmpty | Est-il vide |
toArray | convert to array |
toutes | toutes les données |
merge | Fusionner d'autres données |
diff | Comparer les tableaux, renvoyer la différence |
flip | Échanger les clés et les valeurs dans les données |
intersect | Comparer les tableaux, renvoyer l'intersection |
Renvoyer tous les noms de clés dans les données | |
Supprimer le dernier élément des données | |
Supprimer le premier élément des données | |
In insérer un élément au début des données | |
à la fin Insérer un élément | |
En utilisant une fonction définie par l'utilisateur, renvoyer le tableau sous forme de chaîne | |
Réorganiser les données dans l'ordre inverse | |
Les données sont séparées en plusieurs morceaux de données | |
Exécuter un rappel pour chaque élément des données | |
Utilisez la fonction de rappel pour filtrer les éléments dans les données | |
Renvoyer la colonne spécifiée dans les données | |
Trier les données | |
Spécifier le tri des champs | |
Mélangez les données | |
Intercepter une partie des données | |
Utilisez la fonction de rappel pour traiter les éléments du tableau de | |
Filtrer les éléments du tableau en fonction des conditions du champ | |
Requête Like éléments de filtre | |
Pas comme les éléments de filtre | |
IN interroge les éléments de filtre dans le tableau | |
Not IN requête pour filtrer les éléments du tableau | |
Requête Entre pour filtrer les éléments du tableau | |
Requête Not Between pour filtrer les éléments du tableau |