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 :

keysRenvoyer tous les noms de clés dans les donnéespopSupprimer le dernier élément des donnéesshiftSupprimer le premier élément des donnéesunshiftIn insérer un élément au début des donnéespushà la fin Insérer un élémentréduireEn utilisant une fonction définie par l'utilisateur, renvoyer le tableau sous forme de chaîneinverserRéorganiser les données dans l'ordre inversechunkLes données sont séparées en plusieurs morceaux de donnéeseachExécuter un rappel pour chaque élément des donnéesfilterUtilisez la fonction de rappel pour filtrer les éléments dans les donnéescolonneRenvoyer la colonne spécifiée dans les donnéestrier Trier les données ordreSpécifier le tri des champsshuffle Mélangez les données sliceIntercepter une partie des donnéesmapUtilisez la fonction de rappel pour traiter les éléments du tableau de whereFiltrer les éléments du tableau en fonction des conditions du champwhereLikeRequête Like éléments de filtrewhereNotLikePas comme les éléments de filtrewhereInIN interroge les éléments de filtre dans le tableau whereNotInNot IN requête pour filtrer les éléments du tableauwhere EntreRequête Entre pour filtrer les éléments du tableauwhereNotBetweenRequête Not Between pour filtrer les éléments du tableau
MethodDescription
isEmptyEst-il vide
toArrayconvert to array
toutestoutes les données
mergeFusionner d'autres données
diffComparer les tableaux, renvoyer la différence
flipÉchanger les clés et les valeurs dans les données
intersectComparer les tableaux, renvoyer l'intersection