Maison développement back-end tutoriel php À propos des méthodes courantes de CDBCriteria dans Yii

À propos des méthodes courantes de CDBCriteria dans Yii

Jun 15, 2018 am 10:40 AM
yii 常用方法

Cet article présente principalement les méthodes courantes de Yii CDBCriteria, et résume et analyse les fonctions et méthodes communes de la classe CDBCriteria sous forme d'exemples. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

<.>Les exemples de cet article décrivent les méthodes courantes de Yii CDBCriteria. Partagez-le avec tout le monde pour référence, comme suit :

Remarque : $c = new CDbCriteria(); est une façon d'écrire ActiveRecord, rendant ActiveRecord plus flexible, au lieu de DAO (PDO) et Query Constructeur.

Un petit commentaire : j'ai l'impression que cette partie du manuel est moyenne.

Voici quelques notes et utilisation courante de Yii CDbCriteria :

1 La situation d'un assemblage SQL

Code PHP :

<.>

$criteria = new CDbCriteria;
//函数方式
$criteria->addCondition("id=1"); //查询条件,即where id = 1
$criteria->addInCondition(&#39;id&#39;, array(1,2,3,4,5)); //代表where id IN (1,23,,4,5,);
$criteria->addNotInCondition(&#39;id&#39;, array(1,2,3,4,5));//与上面正好相法,是NOT IN
$criteria->addCondition(&#39;id=1&#39;,&#39;OR&#39;);//这是OR条件,多个条件的时候,该条件是OR而非AND
$criteria->addSearchCondition(&#39;name&#39;, &#39;分类&#39;);//搜索条件,其实代表了。。where name like &#39;%分类%&#39;
$criteria->addBetweenCondition(&#39;id&#39;, 1, 4);//between 1 and 4
$criteria->compare(&#39;id&#39;, 1); //这个方法比较特殊,他会根据你的参数自动处理成addCondition或者addInCondition,
//即如果第二个参数是数组就会调用addInCondition
$criteria->addCondition("id = :id");
$criteria->params[&#39;:id&#39;]=1;
//属性方式
$criteria->select = &#39;id,parentid,name&#39;; //代表了要查询的字段,默认select=&#39;*&#39;;
$criteria->join = &#39;xxx&#39;; //连接表
$criteria->with = &#39;xxx&#39;; //调用relations
$criteria->limit = 10; //取1条数据,如果小于0,则不作处理
$criteria->offset = 1; //两条合并起来,则表示 limit 10 offset 1,或者代表了。limit 1,10
$criteria->order = &#39;xxx DESC,XXX ASC&#39; ;//排序条件
$criteria->group = &#39;group 条件&#39;;
$criteria->having = &#39;having 条件 &#39;;
$criteria->distinct = FALSE; //是否唯一查询
Copier après la connexion

Exemple :

Code Php :

$criteria = new CDbCriteria();
$criteria->select = &#39;table_name,model_id,sum(amount) total&#39;;
$criteria->group = &#39;table_name,model_id&#39;;
$criteria->addCondition("$nIdcId=4");//也可以$criteria->condition = "$nIdcId=4";
$aResult = accessory_info::model()->findAll($criteria);
$c = new CDbCriteria();
$c->select = &#39;t.id, t.created_at, t.outsource_id, t.user_id, t.operate, t.content&#39;;
$c->join = &#39;LEFT JOIN outsource ON outsource.id=t.outsource_id&#39;;
$c->condition = &#39;outsource.idc_id IN(&#39; . implode(&#39;,&#39;, $idc_ids) . &#39;)&#39;;
if($last_log_id) {
$c->condition .= " AND t.id > $last_log_id";
}
$c->limit = 20;
$c->order = &#39;t.id DESC&#39;;
$logs = OutsourceProcessLog::model()->findAll($c);
Copier après la connexion

Annotation :

1. La différence avec la méthode DAO est que chaque élément du tableau de la méthode DAO est toujours un tableau. Avec la méthode CDbCriteria, les éléments du tableau sont des objets.

2. Même si cette fonction est très puissante, certaines exigences ne peuvent toujours pas être remplies et des instructions SQL sont toujours nécessaires. Par exemple, sélectionnez le montant moyen (num) parmi ****.

3. Imprimez les résultats après l'exécution et vous pourrez en savoir plus sur la façon dont Yii implémente ce

Code PHP :

//可见
$c = new CDbCriteria();
$c->join = "JOIN idc_user on t.id=idc_user.user_id";
$c->condition = "idc_user.idc_id=$idc_id";
//运行后
object(CDbCriteria)#98 (12) { ["select"]=> string(1) "*" ["distinct"]=> bool(false) ["condition"]=> string(17) "idc_user.idc_id=6" ["params"]=> array(0) { } ["limit"]=> int(-1) ["offset"]=> int(-1) ["order"]=> string(0) "" ["group"]=> string(0) "" ["join"]=> string(38) "JOIN idc_user on t.id=idc_user.user_id" ["having"]=> string(0) "" ["with"]=> NULL ["alias"]=> NULL }
//User::model()->with(&#39;Idcs&#39;)->findAll($c)
Copier après la connexion

2. La situation de fusionAvec

Code PHP :

//在ActiveRecord中,增加条件限制
$this->getDbCriteria()->mergeWith(array(
&#39;condition&#39;=>"idc_id IN ($ids)",
));
Copier après la connexion

Le Nous espérons que l'ensemble du contenu de cet article sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois !

Recommandations associées :

Comment implémenter le framework Yii pour générer et exécuter des instructions SQL sur la page et déboguer


Comment implémenter le framework Yii2 Utilisez PHPExcel pour exporter des fichiers Excel


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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser le framework PHP Yii pour développer un système de sauvegarde cloud hautement disponible Comment utiliser le framework PHP Yii pour développer un système de sauvegarde cloud hautement disponible Jun 27, 2023 am 09:04 AM

Avec le développement continu de la technologie du cloud computing, la sauvegarde des données est devenue quelque chose que chaque entreprise doit faire. Dans ce contexte, il est particulièrement important de développer un système de sauvegarde cloud hautement disponible. Le framework PHP Yii est un framework puissant qui peut aider les développeurs à créer rapidement des applications Web hautes performances. Ce qui suit explique comment utiliser le framework Yii pour développer un système de sauvegarde cloud hautement disponible. Conception du modèle de base de données Dans le framework Yii, le modèle de base de données est une partie très importante. Parce que le système de sauvegarde des données nécessite beaucoup de tables et de relations

Yii2 vs Phalcon : quel framework est le meilleur pour développer des applications de rendu graphique ? Yii2 vs Phalcon : quel framework est le meilleur pour développer des applications de rendu graphique ? Jun 19, 2023 am 08:09 AM

À l’ère actuelle de l’information, le big data, l’intelligence artificielle, le cloud computing et d’autres technologies sont devenus au centre des préoccupations des grandes entreprises. Parmi ces technologies, la technologie de rendu des cartes graphiques, en tant que technologie de traitement graphique haute performance, fait l'objet de plus en plus d'attention. La technologie de rendu des cartes graphiques est largement utilisée dans le développement de jeux, les effets spéciaux de films et de télévision, la modélisation technique et d'autres domaines. Pour les développeurs, choisir un framework adapté à leurs projets est une décision très importante. Parmi les langages actuels, PHP est un langage très dynamique. Quelques excellents frameworks PHP comme Yii2, Ph.

Comment utiliser le framework Yii3 en php ? Comment utiliser le framework Yii3 en php ? May 31, 2023 pm 10:42 PM

À mesure qu’Internet continue de se développer, la demande de développement d’applications Web augmente également. Pour les développeurs, le développement d'applications nécessite un cadre stable, efficace et puissant, qui peut améliorer l'efficacité du développement. Yii est un framework PHP hautes performances de premier plan qui offre des fonctionnalités riches et de bonnes performances. Yii3 est la version nouvelle génération du framework Yii, qui optimise davantage les performances et la qualité du code basé sur Yii2. Dans cet article, nous présenterons comment utiliser le framework Yii3 pour développer des applications PHP.

Requête de données dans le framework Yii : accédez efficacement aux données Requête de données dans le framework Yii : accédez efficacement aux données Jun 21, 2023 am 11:22 AM

Le framework Yii est un framework d'application Web PHP open source qui fournit de nombreux outils et composants pour simplifier le processus de développement d'applications Web, dont la requête de données est l'un des composants importants. Dans le framework Yii, nous pouvons utiliser une syntaxe de type SQL pour accéder à la base de données afin d'interroger et de manipuler les données efficacement. Le générateur de requêtes du framework Yii comprend principalement les types suivants : requête ActiveRecord, requête QueryBuilder, requête de commande et requête SQL originale.

Symfony vs Yii2 : quel framework est le meilleur pour développer des applications Web à grande échelle ? Symfony vs Yii2 : quel framework est le meilleur pour développer des applications Web à grande échelle ? Jun 19, 2023 am 10:57 AM

Alors que la demande d'applications Web continue de croître, les développeurs ont de plus en plus de choix dans le choix des frameworks de développement. Symfony et Yii2 sont deux frameworks PHP populaires. Ils ont tous deux des fonctions et des performances puissantes, mais face à la nécessité de développer des applications Web à grande échelle, quel framework est le plus adapté ? Nous procéderons ensuite à une analyse comparative de Symphony et Yii2 pour vous aider à faire un meilleur choix. Présentation de base Symphony est un framework d'application Web open source écrit en PHP et basé sur

Comment convertir des objets yii en tableaux ou directement au format json Comment convertir des objets yii en tableaux ou directement au format json Jan 08, 2021 am 10:13 AM

Framework Yii : cet article présente la méthode de Yii pour convertir des objets en tableaux ou les afficher directement au format json. Il a une certaine valeur de référence et j'espère qu'il pourra vous aider.

Guide de programmation Yii2 : Comment exécuter le service Cron Guide de programmation Yii2 : Comment exécuter le service Cron Sep 01, 2023 pm 11:21 PM

Si vous demandez « Qu'est-ce que Yii ? », consultez mon tutoriel précédent : Introduction au framework Yii, qui passe en revue les avantages de Yii et décrit les nouveautés de Yii 2.0, publié en octobre 2014. Hmm> Dans cette série Programmation avec Yii2, je guiderai les lecteurs dans l'utilisation du framework Yii2PHP. Dans le didacticiel d'aujourd'hui, je vais partager avec vous comment tirer parti des fonctionnalités de la console Yii pour exécuter des tâches cron. Dans le passé, j'ai utilisé wget - une URL accessible sur le Web - dans une tâche cron pour exécuter mes tâches en arrière-plan. Cela soulève des problèmes de sécurité et entraîne des problèmes de performances. Alors que je discutais de certaines façons d'atténuer les risques dans notre série Sécurité pour les startups, j'avais espéré passer aux commandes pilotées par la console.

Développement PHP : utilisez Yii2 et GrapeJS pour implémenter un CMS back-end et une édition visuelle front-end Développement PHP : utilisez Yii2 et GrapeJS pour implémenter un CMS back-end et une édition visuelle front-end Jun 15, 2023 pm 11:48 PM

Dans le développement de logiciels modernes, créer un système de gestion de contenu (CMS) puissant n’est pas une tâche facile. Non seulement les développeurs doivent posséder des compétences et une expérience approfondies, mais ils doivent également utiliser les technologies et les outils les plus avancés pour optimiser leurs fonctionnalités et leurs performances. Cet article explique comment utiliser Yii2 et GrapeJS, deux logiciels open source populaires, pour implémenter un CMS back-end et une édition visuelle frontale. Yii2 est un framework PHPWeb populaire qui fournit des outils et des composants riches pour créer rapidement

See all articles