Maison cadre php YII La différence entre dao et ar dans yii2

La différence entre dao et ar dans yii2

Nov 05, 2019 pm 01:20 PM
yii2

Active Record (AR) est une technologie populaire de cartographie objet-relationnelle (ORM). Chaque classe AR représente une table de données (ou vue), les colonnes de la table de données (ou vue) sont reflétées dans la classe AR en tant qu'attributs de la classe et une instance AR représente une ligne dans la table. Les opérations CRUD courantes sont implémentées en tant que méthodes AR.

La différence entre dao et ar dans yii2

Ainsi, nous pouvons accéder aux données de manière plus orientée objet. $c = new CDbCriteria(); est une façon d'écrire ActiveRecord, qui rend ActiveRecord plus flexible, tandis que l'assemblage de SQL est le plus courant. Examinons deux exemples ci-dessous. (Apprentissage recommandé : tutoriel yii)

Remarque : AR n'est pas destiné à résoudre toutes les tâches liées aux bases de données. Ses meilleures applications consistent à modéliser des tables de données dans des structures PHP et à exécuter des requêtes qui ne contiennent pas d'instructions SQL complexes. Pour les scénarios de requêtes complexes, Yii DAO doit être utilisé.

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

Yii Data Access Object (DAO) est construit sur l'extension PHP Data Object (PDO), permettant d'accéder à différents systèmes de gestion de bases de données (SGBD) dans une seule interface unifiée. Les applications développées à l'aide du DAO de Yii peuvent facilement passer à différents systèmes de gestion de bases de données sans modifier le code d'accès aux données. Ce qui suit est un exemple de DAO :

Exemple de code

/**
     * 关于DAO的例子
     * 获取所有用户名
     */
    public function getUsernames ()
    {
        $sqlStatement = ' SELECT `username` FROM `testdrive`.`tbl_user` ';
        $this->command = $this->connection->createCommand($sqlStatement);
        return $this->command->queryAll();
    }
    /**
     *
     * 添加一个用户
     */
    public function addUser ()
    {
        $sqlStatement = " INSERT INTO `tbl_user` (`username`, `password`, `email`) VALUES ('test', 'test', 'test@test.com') ";
        $this->command = $this->connection->createCommand($sqlStatement);
        return $this->command->execute();
    }
Copier après la connexion

Quelques points à noter :

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. À l'heure actuelle, les 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 cela

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Yii avec docker: conteneurisation et déploiement de vos applications Yii avec docker: conteneurisation et déploiement de vos applications Apr 02, 2025 pm 02:13 PM

Les étapes de conteneris et de déploiement des applications YII à l'aide de Docker incluent: 1. Créez un DockerFile et définissez le processus de création d'images; 2. Utilisez DockerCose pour lancer les applications YII et la base de données MySQL; 3. Optimiser la taille et les performances de l'image. Cela implique non seulement des opérations techniques spécifiques, mais aussi de comprendre les principes de travail et les meilleures pratiques de Dockerfile pour assurer un déploiement efficace et fiable.

Yii Security Durcision: protéger vos applications contre les vulnérabilités Yii Security Durcision: protéger vos applications contre les vulnérabilités Apr 03, 2025 am 12:18 AM

Dans le cadre YII, l'application peut être protégée par les étapes suivantes: 1) Activer la protection CSRF, 2) implémenter la vérification de l'entrée et 3) Utiliser l'échappement de sortie. Ces mesures protègent contre les attaques CSRF, injection SQL et XSS en incorporant des jetons CSRF, en définissant des règles de vérification et en échappements de HTML automatiques, assurant la sécurité de l'application.

L'état actuel de YII: un regard sur sa popularité L'état actuel de YII: un regard sur sa popularité Apr 13, 2025 am 12:19 AM

YiiremainspopularbutislessfavanedthanLaravel, withabout14kgithubstars.itexcelsInterformanceAndActiveRecord, Buthasaspeeperlearningcurveandasmallerecosystem.

Yii Interview Questions: Ace Your PHP Framework Interview Yii Interview Questions: Ace Your PHP Framework Interview Apr 06, 2025 am 12:20 AM

Lorsque vous vous préparez à une entrevue avec YII Framework, vous devez connaître les principaux points de connaissances suivants: 1. Architecture MVC: Comprendre le travail collaboratif des modèles, des vues et des contrôleurs. 2. ActiveRecord: maîtriser l'utilisation des outils ORM et simplifier les opérations de base de données. 3. Widgets et aides: familier avec les composants et les fonctions d'assistance intégrés, et créez rapidement l'interface utilisateur. La maîtrise de ces concepts de base et des meilleures pratiques vous aidera à vous démarquer dans l'entretien.

Gestion de la base de données YII: enregistrements et migrations actifs avancés Gestion de la base de données YII: enregistrements et migrations actifs avancés Apr 05, 2025 am 12:17 AM

Advanced ActiveRecord et les outils de migration dans le cadre YII sont essentiels pour gérer efficacement les bases de données. 1) Advanced ActiveRecord prend en charge les requêtes complexes et les opérations de données, telles que les requêtes associées et les mises à jour par lots. 2) L'outil de migration est utilisé pour gérer les modifications de la structure de la base de données et assurer des mises à jour sécurisées du schéma.

YII RESTFUL API Development: meilleures pratiques et authentification YII RESTFUL API Development: meilleures pratiques et authentification Apr 09, 2025 am 12:13 AM

Le développement d'une API RESTful dans le cadre YII peut être réalisé via les étapes suivantes: Définition d'un contrôleur: Utilisez yii \ rest \ activeController pour définir un contrôleur de ressources, comme UserController. Configurer l'authentification: assurez la sécurité de l'API en ajoutant le mécanisme d'authentification HTTPPorteur. Implémentez la pagination et le tri: utilisez yii \ data \ acteDataprovider pour gérer la logique métier complexe. Gestion des erreurs: configurez yii \ web \ errorhandler pour personnaliser les réponses d'erreur, telles que le traitement lorsque l'authentification échoue. Optimisation des performances: utilisez le mécanisme de mise en cache de YII pour optimiser les ressources fréquemment accessibles et améliorer les performances de l'API.

YII: un cadre solide pour le développement Web YII: un cadre solide pour le développement Web Apr 15, 2025 am 12:09 AM

YII est un cadre PHP haute performance conçu pour un développement rapide et une génération de code efficace. Ses fonctionnalités principales incluent: MVC Architecture: YII adopte l'architecture MVC pour aider les développeurs à séparer la logique d'application et à rendre le code plus facile à maintenir et à développer. Componentilation et génération de code: grâce à la composontisation et à la génération de code, YII réduit le travail répétitif des développeurs et améliore l'efficacité de développement. Optimisation des performances: YII utilise des technologies de chargement de latence et de mise en cache pour assurer un fonctionnement efficace sous des charges élevées et fournit de puissantes capacités ORM pour simplifier les opérations de base de données.

Yii 2.0 Dive profonde: réglage et optimisation des performances Yii 2.0 Dive profonde: réglage et optimisation des performances Apr 10, 2025 am 09:43 AM

Les stratégies pour améliorer les performances de l'application YII2.0 incluent: 1. Optimisation des requêtes de base de données, en utilisant QueryBuilder et ActiveRecord pour sélectionner des champs spécifiques et limiter les ensembles de résultats; 2. Stratégie de mise en cache, utilisation rationnelle des données, de la requête et du cache de page; 3. Optimisation au niveau du code, réduction de la création d'objets et utilisant des algorithmes efficaces. Grâce à ces méthodes, les performances des applications YII2.0 peuvent être considérablement améliorées.

See all articles