Maison  >  Article  >  développement back-end  >  Résumé des opérations de requête de base de données du framework PHP Yii

Résumé des opérations de requête de base de données du framework PHP Yii

小云云
小云云original
2017-11-16 11:39:232389parcourir

Yii est facile à apprendre et à utiliser. Il vous suffit de connaître PHP et la programmation orientée objet, et vous pouvez démarrer rapidement sans avoir à apprendre au préalable une nouvelle architecture ou un nouveau langage de modèle. Le développement avec Yii est très rapide et nécessite très peu de codage pour l’application autre que le framework lui-même. En fait, c’est l’un des frameworks de développement les plus efficaces. Que savez-vous de la méthode d'interrogation des données de base de données dans le framework Yii ? Aujourd'hui, l'éditeur a fait un résumé pour tout le monde.

Un résumé des méthodes de requête de données de base de données dans le cadre yii.

(1)

$result=Yii::app()->dbName->createCommand($sql)->queryRow();

L'ensemble de résultats renvoyé est un tableau unidimensionnel s'il n'est pas vide. Le dbName dans le code est le nom de la bibliothèque où se trouve la table de données, et $sql peut être n'importe quelle instruction SQL.

(2)

$result=Yii::app()->dbName->createCommand($sql)->queryAll();

L'ensemble de résultats renvoyé est un tableau à deux dimensions s'il n'est pas vide. Le dbName dans le code est le nom de la bibliothèque où se trouve la table de données, et $sql peut être n'importe quelle instruction SQL.

(3)

$result=Region::model()->findByPk($id);

Le résultat renvoyé est un objet s'il n'est pas vide. La région dans le code représente le fichier Region.php stocké dans le répertoire models. La valeur de id représente la valeur égale à la clé primaire définie dans Region.php.

(4)

$result=Region::model()->findAll($condition,$params);

Par exemple :

findAll("username=:name",array(":name"=>$username));

L'ensemble de résultats renvoyé est un tableau à deux dimensions s'il n'est pas vide La première dimension de. le tableau est Le jeu de résultats est un objet.

(5)

$admin=User::model()->findAllByPk($postIDs,$condition,$params);

Par exemple :

findAllByPk($id,"name like ':name' and age=:age",array(':name'=>$name,'age'=>$age));

Cette méthode interroge un ensemble en fonction de la clé primaire, et l'ensemble de résultats renvoyé est un s'il n'est pas vide. Tableau à deux dimensions, l'ensemble de résultats de la première dimension du tableau est un objet. Vous pouvez également utiliser plusieurs clés primaires, telles que : findAllByPk(array(1,2));

(6)

$admin=User::model()->findAllBySql($sql,$params);

L'ensemble de résultats renvoyé sera un deux s'il est pas vide. Tableau de dimensions, l'ensemble de résultats de la première dimension du tableau est un objet. Exemples d'utilisation :

findAllBySql("select * from admin where username=:name",array(':name'=>'admin'));

(7)

$post=Post::model()->findBySql($sql,$params);

L'ensemble de résultats renvoyé. en est un s'il n'est pas vide, le résultat de la requête n'est que la première donnée. Par exemple :

findBySql("select * from user where username=:name",array(':name'=>'phpernote.com'));

(8) L'ensemble de résultats renvoyé par

$row=User::model()->find($condition,$params);

est un objet s'il n'est pas vide et le résultat de la requête n'est que le premier élément de données. Tels que :

find('username=:name',array(':name'=>'admin'));

ou :

find(array('condition'=>'user_id=:user_id','params'=>array(':user_id'=>$uid)));

(9)

$admin=User::model()->findByAttributes($attributes,$condition,$params);

Cette méthode consiste à interroger des données en fonction de conditions , qui peut être Pour plusieurs conditions, placez les conditions dans un tableau. L'ensemble de résultats de la requête est un objet et ne contient qu'une seule donnée, telle que :

findByAttributes(array('username'=>'admin'));

ou :

.
(10)

$admin=User::model()->findAllByAttributes($attributes,$condition,$params);

L'ensemble de résultats renvoyé est un tableau à deux dimensions s'il n'est pas vide, et l'ensemble de résultats dans la première dimension du tableau est un objet.

(9)

// 如果查询条件很是复杂,就要使用CDbCriteria类
$criteria=new CDbCriteria;$criteria->select='title';$creteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);$post=Post::model()->find($criteria); // 不需要第二个参数
// 另一种更好的写法
$post=Post::model()->find( array(        'select'=>'title',        'condition'=>'postID=:postID',        'params'=>array(':postID'=>10)    ));

Interrogez le numéro et déterminez si la requête a des résultats

1

$n=Post::model()->count($condition,$params);


La méthode. is Interroge le nombre d'enregistrements qu'il y a dans une collection en fonction d'une condition et renvoie un nombre entier, tel que :

count("username=:name",array(":name"=>$username));


2,

$n=Post::model()->countBySql($sql,$params);

This La méthode est basée sur SQL. L'instruction demande combien d'enregistrements il y a dans une collection et renvoie un nombre entier, tel que :

countBySql("select * from admin where username=:name",array(':name'=>'admin'));

3,

$exists=Post::model()->exists($condition,$params);

Cette méthode est obtenu sur la base d'une requête conditionnelle Le tableau contient-il des données ? S'il y a des données, elles renvoient vrai, sinon elles ne sont pas trouvées.

Ce qui précède est un résumé des méthodes d'interrogation des données de base de données dans le framework Yii. Je pense que tout le monde a une compréhension plus détaillée de cela. Nous avons également mentionné plus tôt des articles plus connexes sur le framework Yii. Vous pouvez prêter attention au site Web PHP chinois.

Recommandations associées :

Explication sur la façon d'utiliser Memcache dans le framework YII

Explication sur la façon dont Yii2 utilise les formulaires pour télécharger des fichiers

Explication sur la mise en œuvre du framework Yii du code de vérification, des fonctions de connexion et de déconnexion

PHP — collecte de connaissances de mise en cache du framework Yii

Développement de modules de framework Yii

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!

Déclaration:
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